Answers:
递归意味着cp
复制目录的内容,如果目录包含子目录,则它们也将被(递归)复制。如果不使用-R
,该cp
命令将跳过目录。-r
与-R
Linux 上的相同,在某些其他unix变体上的某些情况下有所不同。
默认情况下,cp
创建一个新文件,该文件具有与旧文件相同的内容,并且具有相同的权限,但受umask限制;该副本的日期自复制之日起,并且属于进行复制的用户。使用该-p
选项,副本与原始副本具有相同的修改时间,相同的访问时间和相同的权限。如果进行复制的用户有权创建此类文件,则它也具有与原始所有者相同的所有者和组。
该-a
选项表示-R
和-p
,还有一些其他保留选项。它尝试使副本尽可能接近原始副本:相同的目录树,相同的文件类型,相同的内容,相同的元数据(时间,权限,扩展属性等)。
-r
因为-a
(对于a
rchive)总是最安全的,并且可能是您期望发生的事情。
-r
是因为您使用的是Unix以外的unix变种,而Linux则没有-a
,通常会使用cp -rp
。或者rsync -a
。