Linux命令完全指南

Linux chattr命令使用详解

chattr命令用于改变文件属性。

用法

chattr [ -RVf ] [ -v version ] [ -p project ] [ mode ] files…

描述

符合mode的格式是+-=[aAcCdDeijPsStTu]

  • + : 选中的符合将被添加到文件
  • - : 选中的符合将被从文件中移除
  • = : 文件的属性将被设置为选中的文件

mode字符的含义:

字符含义
a让文件或目录仅供附加用途
A当一个具有“A”属性的文件被访问时,它的atime记录不会被修改
b不更新文件或目录的最后存取时间
c将文件或目录压缩后存放
C不使用Copy On Write
d将文件或目录排除在dump操作之外
D同步目录更新
e范围格式
F目录查询时大小写不明感
i不得任意更动文件或目录
j使用数据日志
P项目层次
s保密性删除文件或目录
S同步更新
t没有尾部合并
T目录顶部层次结构
u预防意外删除
E加密(只读)
I索引目录(只读)
N内联数据(只读)

注意

并非所有的文件系统支持以上的所有文件属性

选项

选项说明
-R递归处理,将指定目录下的所有文件及子目录一并处理
-V显示指令执行过程和程序版本号
-f抑制大多数错误消息
-v version设置文件的版本号
-p proeject设置文件的项目编号

实例

用chattr命令防止系统中某个关键文件被修改(加锁):

1
chattr +i /etc/resolv.conf

解锁:

1
chattr -i ~/h.txt    

让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件:

1
chattr +a /var/log/messages