想要在 Linux 中只显示隐藏文件,用对 ls 就可以实现
在使用 Linux 的过程中,如何只显示隐藏文件呢?
其实非常简单,只需要用到ls
就可以实现。
让我们来好好学习一下。
ls -a
好多朋友说了,显示隐藏文件,只需要ls -a
就可以了,我们先来执行一下这个命令:
我们知道 Linux 的隐藏文件是.开头,比如我们的截图中有个.java 的文件。
我们再来看下直接ls
的效果:
.java 的文件没有了。
那么我们怎么只显示隐藏文件或者目录呢?
只显示隐藏文件或者目录
其实也非常简单,需要结合ls -a
和grep
命令,具体流程就是:
第一步:先用
ls -a
命令查询所有文件,包括隐藏文件第二步:使用
grep
命令过滤出以.开头的文件或者目录
总结起来命令就是:
我们先来直接试一下,看下效果,稍后再解释"^\.
"意思。
我们先ll
一下:
看到两个非隐藏文件和文件夹,其他都是隐藏文件,然后我们执行一下ls -a | grep "^\."
命令:
可以很清晰的看到执行完ls -a | grep "^\."
命令后就只剩隐藏文件了。
下面我们来解释一下"^\.
",^代表的是正则表达式,代表以 XXX 开头,\是转义,所以就是以点开头,过滤出以点开头的文件。
不知道大家有没有注意到执行ls -a | grep "^\."
的时候:
两个默认的隐藏文件也展示出来了,但是实际意义上这两个不是我们想要看到的,那么我们怎么把这个也过滤呢?
我们可以试一试这个命令:
这样就实现了真正意义上的只过滤出隐藏文件。
除了过滤这种方法,有没有其他的方法能够实现呢?
ls -ld .*
可以用ls -ld .*
命令,-l 代表长信息,-d 代表当前文件夹,.*
代表的是以点开头的文件或者文件夹,所以其效果跟ls -a | grep "^\."
一样:
如果是把.和..都去掉的话,达到ls -A | grep "^\."
效果,只需要:
这样就能将.和..都去掉。
我们再来解释一下.!(|.)
的意思:
!代表非
| 代表是或
这样一解释就非常明显了。
总结
ls
有很多比较有用的参数,用对参数对于提高我们工作效率非常有用,希望大家在工作中能够活学活用!
版权声明: 本文为 InfoQ 作者【wljslmz】的原创文章。
原文链接:【http://xie.infoq.cn/article/df29e159ed86ca0407c57ca1d】。未经作者许可,禁止转载。
评论