本文介绍如何使用chattr命令来更改Linux文件系统上的文件属性,附Chattr语法和示例介绍。
前言 在Linux操作系统中,文件属性是描述文件行为的元数据属性,例如,属性可以指示是否压缩文件或指定是否可以删除文件。 可以设置或清除诸如不变性之类的某些属性,而诸如加密之类的其他属性则是只读的,并且只能查看,对某些属性的支持取决于所使用的文件系统。
chattr语法 chattr命令采用以下一般形式: chattr [OPTIONS] [OPERATOR][ATTRIBUTES] FILE... [OPERATOR]部分的值可以是以下符号之一: 1]、+:加号运算符告诉chattr将指定的属性添加到现有属性中。 2]、-:负号运算符告诉chattr从现有属性中删除指定的属性。 3]、=:等于运算符告诉chattr将指定的属性设置为唯一属性。 该运算符后跟一个或多个要添加或从文件属性中删除的[ATTRIBUTES]参数,以下是一些常用属性和相关标志的意思: 1]、a:设置此属性后,只能以附加模式打开文件进行写入。 2]、A:打开具有此属性集的文件时,其atime记录不会更改,atime(access time)是某些命令或应用程序最后一次访问/打开文件的时间。 3]、e:此属性表示文件正在使用扩展数据块映射磁盘上的块,e属性不能使用chattr进行修改。 4]、i:此属性指示文件是不可变的,这意味着该文件无法删除或重命名。 有关所有文件属性和标志的完整列表,请在终端中键入man chattr命令查看。默认情况下,使用cp或rsync之类的命令复制文件时,不会保留文件属性。 参考:chattr命令_Linux chattr命令使用详解:用来改变文件属性。
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文件系统上文件属性的命令行工具,在使用上也非常的简单,本文已经对重要的进行讲解,多上机操作下就能掌握了。
相关主题 |