写点什么

想要在 Linux 中只显示隐藏文件,用对 ls 就可以实现

作者:wljslmz
  • 2022 年 7 月 06 日
  • 本文字数:788 字

    阅读完需:约 3 分钟

想要在Linux中只显示隐藏文件,用对ls就可以实现

在使用 Linux 的过程中,如何只显示隐藏文件呢?


其实非常简单,只需要用到ls就可以实现。


让我们来好好学习一下。

ls -a

好多朋友说了,显示隐藏文件,只需要ls -a就可以了,我们先来执行一下这个命令:


ls -a
复制代码



我们知道 Linux 的隐藏文件是.开头,比如我们的截图中有个.java 的文件。


我们再来看下直接ls的效果:



.java 的文件没有了。


那么我们怎么只显示隐藏文件或者目录呢?

只显示隐藏文件或者目录

其实也非常简单,需要结合ls -agrep命令,具体流程就是:


  • 第一步:先用ls -a命令查询所有文件,包括隐藏文件

  • 第二步:使用grep命令过滤出以.开头的文件或者目录


总结起来命令就是:


ls -a | grep "^\."
复制代码


我们先来直接试一下,看下效果,稍后再解释"^\."意思。


我们先ll一下:


ll
复制代码



看到两个非隐藏文件和文件夹,其他都是隐藏文件,然后我们执行一下ls -a | grep "^\."命令:


ls -a | grep "^\."
复制代码



可以很清晰的看到执行完ls -a | grep "^\."命令后就只剩隐藏文件了。


下面我们来解释一下"^\.",^代表的是正则表达式,代表以 XXX 开头,\是转义,所以就是以点开头,过滤出以点开头的文件。


不知道大家有没有注意到执行ls -a | grep "^\."的时候:



两个默认的隐藏文件也展示出来了,但是实际意义上这两个不是我们想要看到的,那么我们怎么把这个也过滤呢?


我们可以试一试这个命令:


ls -A | grep "^\."
复制代码



这样就实现了真正意义上的只过滤出隐藏文件。


除了过滤这种方法,有没有其他的方法能够实现呢?

ls -ld .*

可以用ls -ld .*命令,-l 代表长信息,-d 代表当前文件夹,.*代表的是以点开头的文件或者文件夹,所以其效果跟ls -a | grep "^\."一样:



如果是把.和..都去掉的话,达到ls -A | grep "^\."效果,只需要:


ls -ld .!(|.)
复制代码



这样就能将.和..都去掉。


我们再来解释一下.!(|.)的意思:


  • !代表非

  • | 代表是或


这样一解释就非常明显了。

总结

ls有很多比较有用的参数,用对参数对于提高我们工作效率非常有用,希望大家在工作中能够活学活用!

发布于: 2022 年 07 月 06 日阅读数: 21
用户头像

wljslmz

关注

极致主义者,追求技术的路上,勇往直前! 2021.05.24 加入

订阅号:网络技术联盟站 个站:https://www.wljslmz.cn

评论

发布
暂无评论
想要在Linux中只显示隐藏文件,用对ls就可以实现_Linux_wljslmz_InfoQ写作社区