lsattr

列出Linux第二个扩展文件系统上的文件属性

语法

  lsattr [ -RVadv ] [ files... ]

选项

-d  列出与其他文件类似的目录,而不是列出其内容. 

-R  递归列出目录及其内容的属性.

-V 显示程序版本.

-a  列出目录中的所有文件,包括以"."开头的文件

-v  列出文件的版本

属性

.

具有’a’属性集的文件只能在追加模式下打开以进行写入。只有超级用户或拥有CAP_LINUX_IMMUTABLE功能的进程才能设置或清除此属性。

设置了’ c '属性的文件由内核自动压缩在磁盘上。从此文件读取将返回未压缩的数据。写入此文件会在将数据存储到磁盘之前压缩数据。注意:请务必阅读本文档末尾的错误和限制部分。

当修改了设置了’ D '属性的目录时,会在磁盘上同步写入更改; 这相当于应用于文件子集的’dirsync’挂载选项。

运行dump(8)程序时,设置了’ d '属性的文件不适合备份。实验性压缩补丁使用“E”属性来指示压缩文件具有压缩错误。

’ e '属性表示该文件正在使用扩展区来映射磁盘上的块。可能无法使用chattr(1)删除它。htree代码使用’I’属性来指示使用散列树索引目录。

’ h '属性表示文件以文件系统块大小为单位而不是以扇区为单位存储其块,并且意味着该文件(或一次)大于2TB。

无法修改具有“ i ”属性(不可变)的文件:无法删除或重命名文件,无法为此文件创建链接,也无法将数据写入文件。只有超级用户或拥有CAP_LINUX_IMMUTABLE功能的进程才能设置或清除此属性。

与A文件“Ĵ ”属性都被写入到文件本身,如果文件系统安装有“数据=命令”或“数据回写=”选项之前写入Ext3日志的数据。使用“data = journal”选项挂载文件系统时,所有文件数据都已记录,并且此属性无效。只有超级用户或拥有CAP_SYS_RESOURCE功能的进程才能设置或清除此属性。

删除具有’ s '属性集的文件时,其块将归零并写回磁盘。注意:请务必阅读本文档末尾的错误和限制部分。修改具有“S”属性集的文件时,会在磁盘上同步写入更改; 这相当于应用于文件子集的’sync’挂载选项。

出于Orlov块分配器的目的,具有“ T ”属性的目录将被视为目录层次结构的顶部。这是对ext3和ext4使用的块分配器的暗示,该目录下的子目录不相关,因此应分开以用于分配目的。例如,在/ home目录中设置’T’属性是一个非常好的主意,因此/ home / john和/ home / mary被放置在单独的块组中。对于未设置此属性的目录,Orlov块分配器将尝试在可能的情况下将子目录组合在一起。

具有’ t '属性的文件在与其他文件合并的文件末尾不会有部分块片段(对于那些支持尾部合并的文件系统)。这对于诸如LILO之类的应用程序是必要的,LILO直接读取文件系统,并且不理解尾部合并文件。注意:在撰写本文时,ext2或ext3文件系统(除了非常实验性的补丁之外)不支持尾部合并。

删除具有“ u ”属性集的文件时,将保存其内容。这允许用户询问其未删除。注意:请务必阅读本文档末尾的错误和限制部分。

实验性压缩补丁使用“ X ”属性来指示可以直接访问压缩文件的原始内容。

作者
chattr由Remy Card撰写Remy.Card@linux.org。目前由Theodore Ts’o tytso@alum.mit.edu维护

示例

使文件为 some-file 不可变的:

  $ chattr +i /home/user/demo/some-file

lsattr 命令实例:

Linux的Bash命令行(A-Z排序)