当我从 复制到 时和cp -r /source /destination
之间有什么区别吗?cp -a /source /destination
NTFS
EXT4
答案1
cp -a
尝试制作尽可能接近源的副本,包括元数据和树信息。
cp -r
递归复制文件并保留内容,但让执行复制的用户获得修改时间、权限和用户。
cp -a
因此,从本质上讲,只需按其功能使用cp -r
即可,甚至更多。
答案2
当涉及到位于源目录中的链接时,情况会有所不同。cp -a
将复制该链接作为链接。cp -r
将跟随链接,因此如果链接指向另一个目录,它也将复制链接目录的内容,当链接目录包含大量数据时,这可能会对所需的磁盘空间产生巨大影响。
cp -a
还会保留文件权限、所有权和时间戳,而cp -r
没有。即使从 NTFS 格式的分区复制,文件权限也会有所不同。