![获取给定文件夹下的文件和文件夹数量](https://linux22.com/image/158665/%E8%8E%B7%E5%8F%96%E7%BB%99%E5%AE%9A%E6%96%87%E4%BB%B6%E5%A4%B9%E4%B8%8B%E7%9A%84%E6%96%87%E4%BB%B6%E5%92%8C%E6%96%87%E4%BB%B6%E5%A4%B9%E6%95%B0%E9%87%8F.png)
在 Microsoft Windows 中,您可以右键单击文件夹特性它会报告包含#文件和#文件夹
有没有办法在linux的命令行上做到这一点?
我想知道给定文件夹下以及该起始文件夹中的任何和所有子文件夹内的文件总数和文件夹总数。
答案1
调用的目录下的目录总数dir
(包括dir
其本身):
find dir -type d -exec echo x \; | wc -l
dir
这将定位其中或之下(及其本身)的任何目录dir
,并为每个目录输出一个x
。然后用 来计算输出的行数wc -l
。
通过这种方式,我们可以正确计算包含换行符的名称。
下的非目录(文件)总数dir
:
find dir ! -type d -exec echo x \; | wc -l
在使用 GNU 的系统find
(例如 Linux)上,可以通过替换-exec echo x \;
为来加快速度-printf 'x\n'
。
使用tree
命令(如果可用):
tree -a dir | tail -n 1