#lsattr == ls attribution 列出当前目录下文件和目录的特殊属性
语法 lsattr [-aR] [文件/目录名]
R
#lsattr -R 【列出当前目录下的子目录和文件,以及子目录下的文件和目录,类似tree的功能】
#lsattr 1.txt
-------------e- 1.txt 【e表示ext4,ext3文件系统特有的属性】
d
#mkdir -p 1/2/3/4
#lsattr -d 1 【只查看当前目录的隐藏属性】
#chattr == change attribution 更改属性
语法 chattr [+-=] [Asaci] [文件/目录名]
a
#chattr +a 1.txt 【1.txt不可以被修改、删除、重命名、重定向,只能追加重定向】
#echo "111111">>1.txt
#ls -l 1.txt
-----a-------e- 1.txt
#chattr -a 1.txt 【移除1.txt的a属性】
NOTE:非root用户,不能执行增加/移除 a 属性的命令
i [与 a 的区别在于,a 可以执行追加重定向命令;只针对文件]
#chattr +i 1.txt 【不能追加、删除、修改、移动、重定向、追加重定向、更改组;什么都不行】
#chattr -i 1.txt 【移除 i 属性】
例子:
#mkdir -p 1/2/3/4/5
#touch 1/2/3/3.txt 1/2/3/4/5/5.txt
#chattr +a 1/2/3/3.txt
#chattr +i 1/2/3/4/5/5.txt
...........
#rm -rf 1
rm: 无法删除"1/2/3/4/5/5.txt": 不允许的操作
rm: 无法删除"1/2/3/3.txt": 不允许的操作
【若出现不允许或没有权限,则考虑是否有i或者a权限】
#lsattr -R 1 【利用 -R 级联选项,一个命令就可找出问题所在】
-------------e- 1/2
1/2:
-------------e- 1/2/3
1/2/3:
-------------e- 1/2/3/4
1/2/3/4:
-------------e- 1/2/3/4/5
1/2/3/4/5:
----i--------e- 1/2/3/4/5/5.txt
-----a-------e- 1/2/3/3.txt
编辑回复