今天在某客上看到一份面经,里面有这样一道试题:
Q:linux下怎么查找文件个数?【统计文件的个数】
第一眼看到这个问题,我真不知道具体的命令是什么,我的第一反应是,在某个目录下,输入 ls 命令,然后进行"人工count",哈哈,这个我想在当文件比较少的情况下,应该是可以实现的。。。但是当文件或者文件夹比较多的时候,这种办法就是愚蠢的。。。
好了,不啰嗦了,下面进行总结。
问题一:在某个目录下,统计该目录下文件夹的个数【不包含其他文件夹的子文件夹】(i.e. 文件夹中,子文件夹的个数【只计算文件夹个数,其他文件不算】)
ls -l | grep "^d" | wc -l
可以看到该目录下的文件夹个数为: 6
问题二:在某个目录下,统计该目录下文件夹的个数【包含其他文件夹的子文件夹】(i.e. 文件夹中,子文件夹的个数【只计算文件夹个数,其他文件不算】)
ls -lR | grep "^d" | wc -l
问题三:在某个目录下,统计该目录下文件的个数(i.e. 文件夹中,文件的个数【只计算文件个数,文件夹不算】)
ls -lr | grep "^-"| wc -l
在不统计文件夹的情况下,该目录下有16个文件,txt、py、md结尾的文件。
絮叨: ls -l 出现total,这个的意思?
我看了两篇博客,回答的不是特别好,心中还存在疑问,故先将问题抛在这里,等有机会再深入研究。
参考
https://blog.csdn.net/zhizhengguan/article/details/108260761