Linux统计当前文件夹下的文件数

Linux统计当前文件夹下的文件数

统计文件个数,其实是用ls -l命令竖向输出文件,这样每一行就是一个文件或目录,再用grep命令筛选出需要的行,比如我只统计普通文件,那就grep "^-",意思是查找-开头的文件,再使用wc -l命令统计行数,达到“统计文件数”的目的,当然还会有其他的变化,比如子文件夹也统计。

统计当前文件夹下文件的个数,包括子文件夹里的

ls -lR | grep "^-" | wc -l

ls: list
-l: long,以长列表的形式显示(一行一个文件,并显示文件的相关信息,如文件名,创建日期,文件权限等等)
-R: Recursive,递归,意思是如果有目录,那么把目录中的文件也列出来,如果目录中还有目录,也会列出来,一直到最深层。必须说明的是还有个-r选项,表示reverse,这是相反的意思,就是一般是按时间倒序显示。
|: 竖杠是“管道符”,意思是把上一个命令输出的结果通过管道传给下一个命令。
grep: 字符查找工具,支持正则表达式。
wc: Word Count的首字母,用-l可以统计行数,因为这里的-lline(行)的意思。


统计当前文件夹下文件的个数

ls -l | grep "^-" | wc -l

原理:ls -l是把文件信息按行输出(每个文件一行),而grep "^-"表示过滤出以-开头的(我们知道,以-开头的文件为普通文件),最后的wc -l是统计行数(-l表示line)。


统计当前文件夹下目录的个数

ls -l | grep "^d" | wc -l

原理:与前面不同的是,它是过滤出以d开头的文件,我们知道,以d开头的是目录,所以就变成了统计目录数。


统计文件夹下目录的个数,包括子文件夹里的

ls -lR | grep "^d" | wc -l

原理:与前面不同的是,它多了一个-R,表示它是Recursive的首字母,表示递归显示列表。

打赏
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x

扫码在手机查看
iPhone请用自带相机扫
安卓用UC/QQ浏览器扫

Linux统计当前文件夹下的文件数