运营管理中经常会碰到关于文件统计的需求,近期在做系统迁移,正好做个备忘。


关键词:

d  : directory

-   : 一般文件


以下命令在需要统计的目录下进行,如:

# cd 目标文件夹

统计某文件夹下文件的个数
# ls -l |grep "^-"|wc -l

统计某文件夹下目录的个数
# ls -l |grep "^
"|wc -l

统计文件夹下文件的个数,包括子文件夹里的
# ls -lR|grep "^-"|wc -l

如统计/home/han目录(包含子目录)下的所有js文件则:
# ls -lR /home/han|grep js|wc -l
ls -l "/home/han"|grep "js"|wc -l

统计文件夹下目录的个数,包括子文件夹里的
# ls -lR|grep "^d"|wc -l
说明:
# ls -lR
长列表输出该目录下文件信息(R代表子目录注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等)

# grep "^-"
这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 ^d

# wc -l
统计输出信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数,又由于一行信息对应一个文件,所以也就是文件的个数。
 

 

======================================

如果只查看文件夹
# ls -d  只能显示一个.
# find -type d    可以看到子文件夹
# ls -lF |grep /    ls -l |grep '^d'  只看当前目录下的文件夹,不包括往下的文件夹