linux中cp -a和cp -r的区别

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

1.cp -a

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

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

例子1:

使用ll 查看:两者时间戳一致

2.cp -r

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

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

例子2:

使用ll查看:两者时间戳不同,拷贝的文件为最新日期

简单总结下:

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

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

经验分享 程序员 微信小程序 职场和发展