linux中“cp-a”和“cp-r”的区别是:“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
查看:两者时间戳不同
复制链接文件也是一样:
简单总结下:
使用cp -a
相当于将原数据原封不动的拷贝过来,不改变里面的任何信息
使用cp -r
拷贝数据,拷贝的结果是生成新的时间戳等信息