linux中cp-a和cp-r的区别是什么

linux中“cp-a”和“cp-r”的区别是:“cp-a”命令复制的数据会保留元数据的时间戳和文件属性等信息,而“cp-r”命令复制的数据会使用新的时间戳等信息。

linux中cp-a和cp-r的区别是什么

本教程操作环境:linux7.3系统、Dell G3电脑。

linux中cp-a和cp-r的区别是什么

Linux cp(英文全拼:copy file)命令主要用于复制文件或目录。

语法

cp [options] source dest

cp [options] source... directory

参数说明:

  • -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。

  • -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。

cp -a : 递归复制,复制的数据会保留原有数据的时间戳等信息(具体:时间戳+所有权+复制连结文件属性而非档案本身)

cp -r : 递归复制,复制的数据会使用新的时间戳等信息

复制连结文件属性而非档案本身:例如是软链接的话,复制的是软链接的属性(时间戳等信息),而不是实际文档的

比如:

cp -a test.sh test1.sh

使用ls -l 查看:两者时间戳一致

cp -r test.sh test2.sh

使用ls -l 查看:两者时间戳不同

17.png

复制链接文件也是一样:

18.png

简单总结下:

使用cp -a 相当于将原数据原封不动的拷贝过来,不改变里面的任何信息

使用cp -r 拷贝数据,拷贝的结果是生成新的时间戳等信息

相关推荐:《Linux视频教程》

以上就是linux中cp-a和cp-r的区别是什么的详细内容,更多请关注其它相关文章!