1. lsattr命令实战

lsattr命令来自于英文词组“list attribute”的缩写,其功能是用于显示文件的隐藏属性。
隐藏属性也叫隐藏权限,顾名思义就是用chattr命令添加在文件上的隐藏权限属性,用常规ls命令无法查看到它们,需要使用lsattr命令查看这些属性信息。

2. 语法格式及常用选项

lsattr没有help帮助命令,只能使用man命令查看:

man lsattr

linux基本功系列之-lsattr命令_创建文件

一般我们使用这个命令,最常用的参数是 -R, 甚至更多情况下不加任何参数使用。

3. 参考案例

3.1 查看指定文件上的隐藏属性:

可以不加任何参数:

[root@mufenggrow test]# lsattr a.txt 
----i----------- a.txt

如果对于普通文件,没有隐藏属性的文件,查看的效果如下:

[root@mufenggrow test]# touch c.txt
[root@mufenggrow test]# lsattr c.txt
---------------- c.txt

没有输出任何内容,证明没有隐藏属性权限

3.2 查看目录的隐藏属性

这里会用到-d参数,查看目录的隐藏属性。

我们先创建一个目录,用chattr 加上i 权限,再去查看,操作过程如下:

[root@mufenggrow test]# mkdir test1
[root@mufenggrow test]# chattr +i test1
[root@mufenggrow test]# lsattr -d test1
----i----------- test1

注意: 目录拥有了i 权限,就无法在目录中创建文件
测试如下:

[root@mufenggrow test]# cd test1
[root@mufenggrow test1]# touch a.txt b.txt c.txt
touch: 无法创建"a.txt": 权限不够
touch: 无法创建"b.txt": 权限不够
touch: 无法创建"c.txt": 权限不够

3.3 查看目录中全部文件的隐藏属性

-a参数,主要用来查看目录中全部文件的隐藏属性

[root@mufenggrow ~]# lsattr -a test/
---------------- test/.
---------------- test/..
----i----------- test/a.txt
---------------- test/b.txt
---------------- test/c.txt
----i----------- test/test1
[root@mufenggrow ~]#

-a参数可以查看到目录及目录中的所有文件的隐藏属性。

既然是显示全部文件,那全部文件包含了隐藏文件吗?

测试:

linux基本功系列之-lsattr命令_显示文件_02

计算机行业最大的好处就是,拿不准的可以做实验进行测试。

经常有句话说: 尽信书不如无书,而实验就很好的解决了尽信书的问题。

4.总结

lsattr命令的使用方法比较简单,一般我们发先root用户无法进行删除操作的时候,就要考虑文件是否被锁定了。