cp -r 和 cp -a 之间的区别

cp -r 和 cp -a 之间的区别

我正在寻找cp -r和之间的区别cp -a。从文件夹复制文件时,“递归”是什么意思?

答案1

递归意味着cp复制目录的内容,如果目录有子目录,它们也会被复制(递归)。如果没有-R,该cp命令将跳过目录。-r与 Linux 上的相同-R,但在其他一些 UNIX 变体上的某些边缘情况下有所不同。

默认情况下,cp创建一个与旧文件内容相同、权限相同但受掩码;该副本的日期是从复制的时间开始的,并且属于进行复制的用户。使用该-p选项,副本与原始副本具有相同的修改时间、相同的访问时间和相同的权限。如果执行复制的用户有权创建此类文件,则它还具有与原始文件相同的所有者和组。

-a选项意味着-R-p,加上一些其他保存选项。它尝试制作尽可能接近原始版本的副本:相同的目录树、相同的文件类型、相同的内容、相同的元数据(时间、权限、扩展属性等)。

答案2

“递归”的 -r 或 -R 选项意味着它将复制所有文件,包括子文件夹内的文件。

列出的 -a 选项与 -dR 相同,这意味着它将保留链接并复制子目录的内容。保留链接的意思是,它在递归复制时不会跟随链接。

答案3

-r=-R
-a=-dR --preserve=all
-d=--no-dereference --preserve=links

然后:

-r=-R
-a=-R --no-dereference --preserve=links --preserve=all

相关内容