Linux中的Chattr命令更改文件属性
在Linux中,文件属性是描述文件行为的元数据属性。 例如,属性可以指示是否压缩文件或指定是否可以删除文件。
可以设置或清除诸如不变性之类的某些属性,而诸如加密之类的其他属性则是只读的,并且只能被查看。 对某些属性的支持取决于所使用的文件系统。
本文介绍了如何使用chattr
命令更改Linux文件系统上的文件属性。
chattr
语法
chattr
命令采用以下一般形式:
chattr [OPTIONS] [OPERATOR][ATTRIBUTES] FILE...
[OPERATOR]
部分的值可以是以下符号之一:
+
-加号运算符告诉chattr
将指定的属性添加到现有属性中。-
-负号运算符告诉chattr
从现有属性中删除指定的属性。=
-等于运算符告诉chattr
将指定的属性设置为唯一属性。
操作符后跟一个或多个要添加或从文件属性中删除的[ATTRIBUTES]
标志。 以下是一些常用属性和相关标志的列表:
a
-设置此属性后,只能以追加模式打开文件进行写入。A
-打开具有该属性集的文件时,其atime记录不会更改。 atime(访问时间)是某个命令或应用程序最后一次访问/打开文件的时间。e
-此属性表示文件正在使用扩展区来映射磁盘上的块。e
属性无法用chattr
修改。i
-此属性表示文件是不可变的,这意味着该文件无法删除或重命名。
要获取所有文件属性和标志的完整列表,请在终端中输入man chattr
。
默认情况下,使用cp
或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
使用chattr
,您可以一次添加或删除多个属性。 例如,要使文件不可变并告诉内核不要跟踪上次访问的时间,可以使用:
sudo chattr +iA todo.txt
您可以使用的最后一个运算符是=
运算符。 例如,要将e
属性设置为唯一属性,可以运行:
sudo chattr "=e" todo.txt
请注意,运算符和标志都用引号引起来,以避免对+
字符进行shell解释。
结论
chattr
是用于更改Linux文件系统上文件属性的命令行工具。
如果您有任何问题或反馈,请随时发表评论。
以上是 Linux中的Chattr命令更改文件属性 的全部内容, 来源链接: utcz.com/z/507682.html