运营管理中经常会碰到关于文件统计的需求,近期在做系统迁移,正好做个备忘。
关键词:
d : directory
- : 一般文件
以下命令在需要统计的目录下进行,如:
# cd 目标文件夹
统计某文件夹下文件的个数
# ls -l |grep "^-"|wc -l
统计某文件夹下目录的个数
# ls -l |grep "^d"|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' 只看当前目录下的文件夹,不包括往下的文件夹