如何在 Linux 中将文件权限和所有权复制到另一个文件中?


在从一个位置备份数据到另一个位置或配置软件时,我们经常需要保持文件的相同所有权和权限级别。创建这些权限并授予各个文件所有权可能会出错,方法是为每个文件键入命令。因此,我们在 chown 和 chmod 命令中使用了一些参数。

所有权

在 chown 函数中,我们使用 --reference 选项指定从源文件到目标文件的所有权克隆。

语法

chown --reference=source_reference_file target_file

在下面的示例中,我们有一个源文件,在执行上述命令后,其所有权将克隆到目标文件。我们在应用命令前后都显示了所有权详细信息。

# Before cloning the ownership
$ ls –lt
# Applying the ownership
$sudo 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 permission
$sudo 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

更新时间:2023-07-27

1 千次浏览

开启你的事业

完成课程获得认证

开始
广告