如何在Linux上将权限从一个文件复制到另一个文件
时间:2020-01-09 14:16:59 来源:igfitidea点击:
如何从Linux上的另一个文件复制或克隆文件所有权和权限。
bash命令行选项是否可以从Linux操作系统上的另一个文件克隆该文件的用户,组所有权和权限?
要设置文件所有者和组,请使用chown命令。
要更改文件模式,请使用chmod命令(权限)。
这两个命令都接受将另一个文件用作引用的选项,称为RFILE。
从Linux上的另一个文件或目录克隆权限的语法
语法如下,使用RFILEs模式而不是MODE值:
chmod --reference=RRFILE FILE chmod [options] --reference=RRFILE FILE
示例:复制文件权限,但不复制文件
让我们列出两个文件:
ls -l install58.iso xenial-server-amd64.iso
输出示例:
-rw-rw-rw- 1 libvirt-qemu kvm 230862848 Aug 16 2014 install58.iso -rw-r--r-- 1 libvirt-qemu kvm 786432000 Mar 14 02:01 xenial-server-amd64.iso
要将install58.iso文件权限复制到xenial-server-amd64.iso,请执行:
chmod --reference=install58.iso xenial-server-amd64.iso
验证一下:
ls -l install58.iso xenial-server-amd64.iso
输出示例:
-rw-rw-rw- 1 libvirt-qemu kvm 230862848 Aug 16 2014 install58.iso -rw-rw-rw- 1 libvirt-qemu kvm 786432000 Mar 14 02:01 xenial-server-amd64.iso
您也可以指定多个文件:
chmod --reference=file.txt dest1.txt dest2.txt dest3.conf
您可以组合并使用find和xargs,如下所示:
find /path/to/dest/ -type f -print0 | xargs -O -I {} chmod --reference=/path/to/rfile.txt {}
从Linux上的另一个文件或目录克隆所有权的语法
使用RRFILEs所有者和组而不是指定OWNER:GROUP值的语法如下
chown --reference=RRFILE FILE chown [options] --reference=RRFILE FILE
示例:复制文件所有权,但不复制文件
要将install58.iso文件用户和组onwership复制到xenial-server-amd64.iso,请执行:
chown --reference=install58.iso xenial-server-amd64.iso ls -l