如何在不覆盖现有权限的情况下递归复制文件?

Eva*_*Eva 9 permissions command-line

当我将文件从一个目录复制到另一个目录时,目录权限会重置(例如:从 0755 到 0775),这会导致问题,迫使我返回并手动重置目录权限。我目前正在做cp -r /source/directory /destination/directory

我想复制所有文件和新目录,但不覆盖现有目录的权限。

vfb*_*lva 7

添加 -p 标志

cp -pR /source/dir /dest/dir
Run Code Online (Sandbox Code Playgroud)

来自man cp

-p     same as --preserve=mode,ownership,timestamps
Run Code Online (Sandbox Code Playgroud)


Val*_*Val 5

要保留链接,您可以使用cpcp 的联机帮助页)与-d标志,这等效于--no-dereference --preserve=links.

要将其与-p-R标志结合使用,您可以使用存档标志-a