linux的文件隐藏属性 chattr lsattr

《鸟哥的Linux私房菜 基础学习篇(第三版)》 7.4.2 读书笔记

显然,这里要说的并不是rwx那9个权限,而是要聊chattr和lsattr这两个命令。这两个命令在只能在Ext2/Ext3的文件系统上面生效,其他文件系统可能就无法支持了。

chattr 设置文件的隐藏属性

  #chattr [+-=] [ASacdistu] 文件或目录

参数:

+ :增加某一个特殊参数,其他原本存在参数则不动

- :删除某一个特殊参数,其他原本存在参数则不动

= :仅有后面的参数

A :设置了A这个属性时,此文件(或目录)的访问时间atime将不会被修改。可避免I/O较慢的机器过度访问磁盘。

S :一般文件是异步格式写入磁盘的,如果加上S这个属性时,对文件进行任何修改,将会“同步”写入磁盘中。

a :设置a之后,这个文件将只能增加数据,而不能删除也不能修改数据,只有root才能设置这个属性。

c :这个属性设置之后,讲会自动将此文件压缩,在读取的时候会自动解压缩,但是在存储的时候,将会先进行压缩后再存储。

d :当dump程序被执行的时候,设置d属性将可使该文件(或目录)不会被dump备份。

i :它可以让一个文件不能被删除、改名,设置连接也无法写入或添加数据。只有root才能设置这个属性。

s :当文件设置了s属性时,如果这个文件被删除,它将会被完全从这个硬盘空间中删除。

u :与s相反,当使用u来配置文件时,如果该文件被删除了,则数据内容其实还存在磁盘中。

lsattr 显示文件隐藏属性

  #lsattr [-adR] 文件或目录

参数:

-a :将隐藏属性也显示出来

-d :如果接的是目录,仅列出目录本身的属性而非目录内的文件名

-R :连同子目录的数据也一并列出

dahu@dahu-OptiPlex-:~/myfile/mulu$ sudo chattr +a tt
[sudo] password for dahu:
dahu@dahu-OptiPlex-:~/myfile/mulu$ ls
s tt x
dahu@dahu-OptiPlex-:~/myfile/mulu$ cat tt
hehe
dahu@dahu-OptiPlex-:~/myfile/mulu$ echo "lala" >> tt
dahu@dahu-OptiPlex-:~/myfile/mulu$ cat tt
hehe
lala
dahu@dahu-OptiPlex-:~/myfile/mulu$ sed -i '/la/d' tt    #sed已经删除不了东西了,只能往里添加
sed: cannot rename ./sed4Y3oYW: Operation not permitted
dahu@dahu-OptiPlex-:~/myfile/mulu$ cat tt
hehe
lala
dahu@dahu-OptiPlex-:~/myfile/mulu$ lsattr   #查看隐藏属性
-------------e-- ./x
-----a-------e-- ./tt
-------------e-- ./s
上一篇:使用glide进行包管理


下一篇:643. Maximum Average Subarray I