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

举报
wljslmz 发表于 2022/09/13 14:54:04 2022/09/13
【摘要】 在使用Linux的过程中,如何只显示隐藏文件呢?其实非常简单,只需要用到ls就可以实现。让我们来好好学习一下。 ls -a好多朋友说了,显示隐藏文件,只需要ls -a就可以了,我们先来执行一下这个命令:ls -a我们知道Linux的隐藏文件是.开头,比如我们的截图中有个.java的文件。我们再来看下直接ls的效果:.java的文件没有了。那么我们怎么只显示隐藏文件或者目录呢? 只显示隐藏文件...

在使用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有很多比较有用的参数,用对参数对于提高我们工作效率非常有用,希望大家在工作中能够活学活用!

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。