如何复制文件夹以保持所有者和权限不变?

Psa*_*nia 29 command-line

所以我打算通过将它复制到外部驱动器来备份我的主文件夹,如下所示:

sudo cp -r /home/my_home /media/backup/my_home
Run Code Online (Sandbox Code Playgroud)

结果,外部驱动器上的所有文件夹现在都归root:root. 我怎样才能cp保留原始的所有权和权限?

Sir*_*rlo 34

使用-p旗帜。

-p     same as --preserve=mode,ownership,timestamps

--preserve[=ATTR_LIST]
       preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all
Run Code Online (Sandbox Code Playgroud)

请注意,要正确复制权限,目标文件系统应与源文件系统相同。换句话说,您的外部驱动器应该被格式化ext4,就像通常的情况一样,您的主文件夹存储在该类型的分区上。


小智 11

您可以使用 -p 标志:
cp -rp /home/my_home /media/backup/my_home
或使用 rsync 命令行:
rsync -aux /home/my_home /media/backup/my_home


Eri*_*lho 8

使用sudo cp -a /home/my_home /media/backup/my_home,它将递归到子目录并保留所有文件属性。