目录
在Linux系统中,文件属性决定了文件的可见性、可读性、可写性等特性。chattr
和lsattr
是两个用于管理文件系统属性的重要工具。
chattr与lsattr分别用于改变和显示文件属性,与chmod命令相比,chmod只改变文件的读写、执行权限,更底层的属性控制是由chattr来改变的。
chattr
语法
Usage: chattr [-RVf] [-+=] [-v version] [aAcCdDeijsStTu] files...
参数
- -R:递归地改变指定目录下文件的属性。此选项忽略符号链接;
- -V:显示命令执行的详细信息;
- -f:大部分错误信息不输出;
- -v:设置文件版本号;
- +:在原有参数设定基础上,追加参数;
- -:在原有参数设定基础上,移除参数;
- =:更新指定参数设定。
属性 | 含义 |
a | append only,只允许向文件追加数据,不允许删除和修改文件内容。如果目录有具有这个属性,系统将只允许在目录下简历和修改文件,不允许删除任何文件。只有root才能设置该属性 |
c | compress,自动将文件压缩,在读取时自动解压缩 |
d | No dump,在进行文件系统备份时,dump指令忽略此文件 |
e | extent format,在ext文件系统中,表示该文件使用区段(extents)映射磁盘上的块 |
i | immutable,不允许对文件进行任何的修改。对于目录而言,只能修改目录之下的文件,不允许建立和删除文件。只有root能设置此属性 |
j | journal,设定此参数使得当通过mount参数:data=ordered 或者 data=writeback 挂 载的文件系统,文件在写入时会先被记录(在journal中)。如果filesystem被设定参数为 data=journal,则该参数自动失效 |
s | secure deletion,系统在删除文件时,使用0填充文件所在的区域 |
t | no tail-merging,文件拥有t属性时,与其它文件合并时末端不会存在局部块碎片 |
u | undeletable,与s相反,删除文件时,文件内容其实还存在磁盘中,以便以后能够恢复删除的文件 |
A | Atime,不能修改文件的最后访问时间 |
D | 如果一个目录设置了D属性,任何改变将同步到磁盘;这等价于mount命令中的dirsync选项,同步目录 |
S | Sync,一旦应用程序对文件执行了写操作,则立刻将改动同步到磁盘 |
T | 目录设置T属性,Orlov块分配器将该目录视为目录层次结构的顶部,提示块分配器该目录下的子目录是无关的,将被分散的分配 |
lsattr
语法
lsattr [ -RVadv ] [ files... ]
参数
- -R:递归列出子目录及其文件的属性 ;
- -V:显示lsattr版本信息 ;
- -a:显示所有隐藏的文件属性 ;
- -d:如果是目录,则只显示目录本身的属性,而非目录内的文件名 ;
- -v:显示文件版本号。