前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >想要在Linux中只显示隐藏文件,用对ls就可以实现

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

原创
作者头像
网络技术联盟站
发布2022-07-06 23:43:35
3.5K0
发布2022-07-06 23:43:35
举报

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

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

让我们来好好学习一下。

ls -a

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

代码语言:txt
复制
ls -a

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

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

.java的文件没有了。

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

只显示隐藏文件或者目录

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

  • 第一步:先用ls -a命令查询所有文件,包括隐藏文件
  • 第二步:使用grep命令过滤出以.开头的文件或者目录

总结起来命令就是:

代码语言:txt
复制
ls -a | grep "^\."

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

我们先ll一下:

代码语言:txt
复制
ll

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

代码语言:txt
复制
ls -a | grep "^\."

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

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

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

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

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

代码语言:txt
复制
ls -A | grep "^\."

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

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

ls -ld .*

可以用ls -ld .*命令,-l代表长信息,-d代表当前文件夹,.*代表的是以点开头的文件或者文件夹,所以其效果跟

ls -a | grep "^\."一样:

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

代码语言:txt
复制
ls -ld .!(|.)

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

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

  • !代表非
  • | 代表是或

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

总结

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ls -a
  • 只显示隐藏文件或者目录
  • ls -ld .*
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档