如何在 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
广告