Linux 如何将文件权限和所有权复制到另一个文件中
在备份数据或配置软件时,我们经常需要保持文件的相同所有权和权限级别。如果为每个文件键入命令来创建这些权限并授予所有权,可能会出现错误。因此,我们可以在chown和chmod命令中使用一些参数。
所有权
我们使用chown函数中的–reference开关来指定从源文件到目标文件的复制所有权。
语法
chown --reference=source_reference_file target_file
在下面的示例中,执行上述命令后,源文件的所有权被克隆到目标文件。在应用该命令之前和之后,显示了所有权的详细信息。
# Before cloning the ownership
ls –lt
# Applying the ownershipsudo chown --reference=ref_file.txt all_rivers.txt
# After Applying the ownership
$ls -lt
运行上述代码将给我们以下结果 –
# Before applying ownership
-rw-r--r-- 1 root root 19 Jan 1 08:40 all_rivers.txt
-rw-rw-r-- 1 ubuntu ubuntu 2925 Jan 1 08:39 ref_file.txt
# After applying ownership
-rw-r--r-- 1 ubuntu ubuntu 19 Jan 1 08:40 all_rivers.txt
-rw-rw-r-- 1 ubuntu ubuntu 2925 Jan 1 08:39 ref_file.txt
文件权限
以类似的方式,文件权限也会按照类似的语法从一个文件复制到另一个文件中,但是需要使用 chmod 命令。
# Before cloning the permission
ls –lt
# Applying the permissionsudo chmod --reference=ref_file.txt all_rivers.txt
# After Applying the permission
$ls -lt
运行上述代码会得到以下结果-
# Before Cloning permission
-rw-r--r-- 1 ubuntu ubuntu 19 Jan 1 08:40 all_rivers.txt
-rw-rw-r-- 1 ubuntu ubuntu 2925 Jan 1 08:39 ref_file.txt
# After cloning permission
-rw-rw-r-- 1 ubuntu ubuntu 19 Jan 1 08:40 all_rivers.txt
-rw-rw-r-- 1 ubuntu ubuntu 2925 Jan 1 08:39 ref_file.txt