从另一个文件克隆所有权和权限?

从另一个文件克隆所有权和权限?

是否有命令或标志可以从另一个文件克隆一个文件的用户/组所有权和权限?使权限和所有权与另一个文件完全相同?

答案1

在 GNU/Linux 上chownchmod一个--reference选项

chown --reference=otherfile thisfile
chmod --reference=otherfile thisfile

答案2

在任何具有 GNU 实用程序的 Unix 上,例如(非嵌入式)Linux 或 Cygwin,您可以使用chmod --referencechown --reference

如果您的系统有ACL,尝试 ACL 命令getfaclsetfacl。这些命令因系统而异,但在许多系统上您可以使用它getfacl other_file | setfacl -bnM - file_to_change来复制权限。这不会复制所有权;您可以通过仔细解析 来做到这一点ls -l other_file,假设您没有包含空格的用户名或组名。

LC_ALL=C ls -l other_file | {
  read -r permissions links user group stuff;
  chown -- "$user:$group" file_to_change
}
getfacl other_file | setfacl -bnM - file_to_change

答案3

做了一个bash命令基于的响应马泰奥:)

代码:

chmod $( stat -f '%p' "$1" ) "${@:2}"

用法:

cp-permissions <from> <to>...

答案4

这对我有用:

cp -p --attributes-only <from> <to>

相关内容