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

linuxopen sourceoperating system

很多时候,在将数据从一个位置备份到另一个位置或配置软件时,我们需要保持文件的所有权和权限级别不变。创建这些权限并授予单个文件的所有权,如果为每个文件都输入命令,很容易出错。因此,我们在 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 命令。

# 克隆权限之前
$ ls –lt# 应用权限
$sudo chmod --reference=ref_file.txt all_rivers.txt# 应用权限之后
$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


相关文章


有用资源