Linux下有三个命令:ls、grep、wc。通过这三个命令的组合可以统计目录下文件及文件夹的个数
统计当前目录下文件的个数(不包括目录)
$ ls -l | grep "^-" | wc -l统计当前目录下文件的个数(包括子目录)
$ ls -lR| grep "^-" | wc -l查看某目录下文件夹(目录)的个数(包括子目录)
$ ls -lR | grep "^d" | wc -lls -l: 长列表输出该目录下文件信息(注意这里的文件是指目录、链接、设备文件等),每一行对应一个文件或目录,ls -lR是列出所有文件,包括子目录。
grep "^-": 过滤ls的输出信息,只保留一般文件,只保留目录是grep "^d"。
wc -l: 统计输出信息的行数,统计结果就是输出信息的行数,一行信息对应一个文件,所以就是文件的个数。
可能有同学想问 ^d 和 ^- 到底是什么意思呢?
其实^表示以什么开头,而我们观察一下目录和文件的输出:
ls -l输出:
-rw-------    1 vien  staff  2323151481 Aug 19 22:02 java_error_in_pycharm.hprof
drwxr-xr-x    5 vien  staff         160 Mar 23  2018 moma可以看到文件的话开头是-,而目录的话是d开头,如此就很明了了