良许Linux教程网 干货合集 Linux系统查看文件夹下文件个数的方法

Linux系统查看文件夹下文件个数的方法

在平时使用 Linux 系统的时候,常常有这么一个需求,就是需要统计一下某个目录下的文件个数。在 Windows 下大家都知道当你打开一个文件夹时,它会在对话框的左下角显示项目各位,一个文件夹或者一个文件都可以称之为一个项目。而 Linux 下没有这么一说,那么如果我们在 Linux 下想要知道某个目录下的文件数需要怎么统计呢?这个问题其实没有哪个命令直接可以给到结果,而是需要几个命令的组合实现。具体命令如下:

$ ls -l /etc/ | grep "^-" | wc -l

这里我们是以统计 /etc 目录下的文件总数为例。这个组合命令是由很多单独的命令组成的,相信大家分开来看的话每一个命令都很熟悉,但是合一块可能不太理解它的意思。那么下面就来具体说一下这个命令的含义。

首先 ls 这个命令想必大家都认识,这是一个很基础的命令,平时使用频度是很高的。ls 命令的它是英文单词 list 的缩写,就是列表的意思。所以当在命令行键入这个命令的时候,会将当前目录下所有的子目录跟文件都名都打印出来。上面示例中 ls 后面还加了一个 -l 选项,-l 作用是以长格式列出这些文件或者目录。我们可以来对比看下加与不加 -l 的区别:

image-20201127114500043
image-20201127114500043

上面我们先是临时创建了三个文件,使用 ls 的时候只是将这三个文件名字列了出来,加上 -l 选项可以看到这三个文件的一些属性,另外大家需要知道的一点就是 ll 这个命令跟 ls -l 是一样的,因为在系统环境变量中有设置命令别名。所以上面组合命令中第一个命令 ls -l /etc 的输出就是将 /etc 这个目录下的所有文件和子目录权目列出来。

说完了第一个命令,接下来就是 | 这个特殊的符号了,其实这个符号也是一个命令,叫做 “管道符” ,也是一个使用频度很高的命令。管道符的作用就是将上一个命令的输出作为后面一个命令的输入,说到这里,是不是大概明白了这个命令的意思了。我们结合上面前两个命令 ls -l /etc/ | grep "^-" 来看,就是将 /etc 目录下的所有文件和子目录的输出来传到第二个命令,然后第二个命令做筛查的前提就是以第一个命令的输出来做筛查的。我们先来看看这两个命令的输出结果:

$ ls -l /etc/ | grep "^-"
image-20201128220427931
image-20201128220427931

好像这个命令的输出没有什么特别的地方,但是大家仔细看,/etc 目录下正常来将是有一些子目录,但是这里的输出却没有子目录。所以这也就是使用 grep 的原因,这个命令一般用来做筛查的时候很方便,此处就是筛选出了以 “-” 开头的行,因为我们的目的是统计目录下文件的数量,我们还知道,在 Linux 系统中以 “-” 开头的就表示文件。而 “^” 的作用就是以什么开头,它后面跟着 “-” 就表示以 “-” 开头的行,说到这里,大家应该对前两个命令很熟悉了吧。

接着就是组合命令中的最后一个命令了,wc 命令,这个命令的意思如下图所展现出来的就是打印文件的行数、单词数或者字节数。所以用这个命令来统计文件数最好不过了。

image-20201128221037338
image-20201128221037338

知道了 wc 命令的作用,那么结合最后两个命令一块来分析它的意思。grep "^-" | wc -l 在这个命令中,首先 grep 已经筛选了除了目录下的所有文件,而这些文件的输出方式都是一行一个,也就表示一行表示一个文件,那么如果需要统计文件的个数,直接统计行数其实就可以达到目的了。所以这里要介绍一下 -l 这个选项的意思,这个选项可以理解为 lines,即行数的英文单词,因此使用 wc -l 这个命令配合选项就可以达到统计文件数的效果。我们来看它的输出:

$ ls -l /etc/ | grep "^-" | wc -l
image-20201128222727368
image-20201128222727368

所以就表示 /etc 目录下有 105 个文件。本文的介绍到此结束,这个统计的命令还是挺常用的,感兴趣的朋友可以自己仿照一下统计别的目录下文件试试。

本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部