在 Linux 中,文件属性是描述文件行为的元数据属性。例如,属性可以指示文件是否被压缩或指定文件是否可以被删除。
一些属性(如不变性)可以设置或清除,而其他属性(如加密)是只读的,只能查看。对某些属性的支持取决于所使用的文件系统。
本文介绍了如何使用chattr
用于更改 Linux 文件系统上的文件属性的命令。
chattr
Syntax #
The chattr
命令采用以下一般形式:
chattr [OPTIONS] [OPERATOR][ATTRIBUTES] FILE...
的价值[OPERATOR]
部分可以是以下符号之一:
-
+
- 加号运算符告诉chattr
将指定的属性添加到现有属性中。
-
-
- 减号运算符告诉chattr
从现有属性中删除指定属性。
-
=
- 等于运算符告诉chattr
将指定属性设置为唯一属性。
运算符后跟一个或多个[ATTRIBUTES]
您想要在文件属性中添加或删除的标志。以下是一些常见属性和关联标志的列表:
-
a
- 设置此属性后,文件只能以追加模式打开进行写入。
-
A
- 当打开具有此属性集的文件时,其 atime 记录不会更改。 atime(访问时间)是最后一次由某些命令或应用程序访问/打开文件的时间。
-
e
- 此属性表示文件正在使用范围来映射磁盘上的块。这e
属性不能被修改chattr
.
-
i
- 该属性表明该文件是不可变的,这意味着该文件不能被删除或重命名。
有关所有文件属性和标志的完整列表,请键入man chattr
在您的终端中。
默认情况下,使用以下命令复制文件时不会保留文件属性cp
or rsync
.
chattr
例子#
常见用途之一chattr
就是给文件或目录设置不可变标志,以防止用户删除或重命名该文件。
您可以使用以下命令查看文件属性lsattr
命令:
lsattr todo.txt
下面的输出显示只有e
标志已设置:
--------------e----- todo.txt
要使文件不可变,请添加i
标志与+
现有属性的运算符:
sudo chattr +i todo.txt
我们正在使用sudo因为只有 root 可以更改不可变标志。
确认属性已添加:
lsattr todo.txt
----i---------e----- todo.txt
要恢复更改并删除不可变标志,请使用-
操作员:
sudo chattr +i todo.txt
With chattr
,您可以一次添加或删除多个属性。例如,要使文件不可变并告诉内核不要跟踪上次访问时间,您可以使用:
sudo chattr +iA todo.txt
您可以使用的最后一个运算符是=
操作员。例如,要设置e
属性作为唯一的属性,您将运行:
sudo chattr "=e" todo.txt
请注意,运算符和标志括在引号中,以避免 shell 解释+
特点。
结论#
chattr
是一个用于更改 Linux 文件系统上的文件属性的命令行工具。
如果您有任何问题或反馈,请随时发表评论。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)