![复制文件夹时保留权限](https://linux22.com/image/189502/%E5%A4%8D%E5%88%B6%E6%96%87%E4%BB%B6%E5%A4%B9%E6%97%B6%E4%BF%9D%E7%95%99%E6%9D%83%E9%99%90.png)
我遇到一个问题,我的父文件夹具有完全权限。我可以创建一个新文件夹,并且该文件夹也具有完全权限。但是,当我将文件夹复制到此父目录并尝试为此复制的目录创建新目录时。它失去了所有权限..有没有办法保留复制文件夹的权限..
答案1
是的。使用 复制时cp
,该-p
选项保留权限。
https://man7.org/linux/man-pages/man1/cp.1.html
-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
答案2
此外史蒂夫的回答, 您可以使用rsync
。
rsync -avhH /path/to/source /path/to/destination
该a
开关保留权限、修改时间、所有权,并使其递归并复制符号链接。v
使其变得冗长,h
并H
分别使输出可读并复制硬链接。
这a
很重要,因为它可以满足您的需求。
答案3
我喜欢使用 tar 管道来保留用户/组所有权和权限,以及 tar 可以灵活地定义要复制的文件
tar cf - -C sourcedir -T filelist | tar xvf - -C targetdir