linux下统计文件夹文件数量

一种是:

ls -l |grep “^-” | wc -l

说明:

ls -l 长列表输出该目录下文件信息(注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等)
grep ^- 这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 ^d
wc -l 统计输出信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数,又由于一行信息对应一个文件,所以也就是文件的个数。

查看文件夹下的文件个数(当前目录的文件和子文件夹的文件数)

find ./ -type f | wc -l

或者

ls -lR|grep “^-”|wc -l

另外一种:

ls -alR dir_name | awk ‘{if(NF>2&&substr($1,1,1)!=”d”)print $0}’ |wc -l

奇怪的是这两种方法统计的文件数量略有差别,后一种统计略多于前一种,但差别不大,都可以作为参考。