chmod只是改变文件的读写、执行权限,更底层的属性控制是由chattr来改变的,chattr控制更细腻,可以改变文件属性。这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有8种模式,下面是具体介绍:
1、a:让文件或目录仅供附加用途。
2、b:不更新文件或目录的最后存取时间。
3、c:将文件或目录压缩后存放。
4、d:将文件或目录排除在倾倒操作之外。
5、i:不得任意更动文件或目录。
6、s:保密性删除文件或目录。
7、S:即时更新文件或目录。
8、u:预防意外删除。
注意:
-R 递归处理,将指定目录下的所有文件及子目录一并处理。
-v
-V 显示指令执行过程。
以上就是小编今天的分享了,希望可以帮助到大家。
linux基础命令之chattr命令
chattr命令是linux系统下用于修改文件的扩展属性的命令,相比chmod命令,chattr命令更加偏向于内核底层,这是因为chmod是修改文件的属性(包括读写,执行,所有者),而chattr命令则是改变文件的扩展属性,并且这些属性是存储在文件中的inode中,因此需要使用lsattr命令来查看相关属性。
语法格式:chattr 参数 文件名
和chmod命令类似,chattr命令也是有多种参数 多种权限的组合
有以下几种参数:
表示打开或增加文件、目录的属性
-表示关闭或移除文件、目录的属性
=表示指定文件、目录的属性
-R表示递归处理目录下的所有文件(包括子目录)
有以下几种权限:
i 表示是否加锁, i表示对文件加锁,无法修改文件,如图1命令1,此时使用vim命令将无法编辑此文件,-i表示对文件解锁,可以修改文件,如图1命令2,这时可以正常编译该文件。
图1
a 表示仅仅运行追加内容,不支持修改和删除,如图,2命令1,对文件增加 a权限后,使用 >重定向文件内容会报错,只支持使用>>在文件最后追加内容。
图2
S(大写)表示文件内容修改后立即同步到硬盘,类似sync操作,防止文件内容丢失。
s(小写)表示彻底删除该文件,包括从硬盘中,并且对应的inode值也删除,无法恢复。