Linux中的Chattr命令使用示例


原文地址:Linux中的Chattr命令使用示例

本文介绍了如何使用该chattr命令来更改Linux文件系统上的文件属性。

在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文件系统上文件属性的命令行工具。

评论

登录后评论

服务器优惠活动

Top