如何在给定的Linux目录中统计文件和子目录的数量?


通常,不仅要知道当前目录中文件的数量,还需要知道当前目录内所有子目录中文件的数量。这可以使用以下方法找到:

使用 ls

我们可以使用 ls 列出文件,然后只选择以“-”符号开头的文件。R 选项与 l 选项一起执行递归搜索。“-c”选项计算行数,也就是文件的数量。

ls -lR . | egrep -c '^-'

运行上述代码得到以下结果:

13

使用 find 命令查找隐藏文件

find 命令帮助我们通过递归遍历所有目录及其子目录来查找符合特定条件的文件。我们将其与 type 选项一起使用,通过提供参数 f 来仅获取文件。这里它也计算所有隐藏文件。

find . -type f | wc -l

运行上述代码得到以下结果:

1505

使用 find 命令不查找隐藏文件

我们使用与上一条命令相同的方法,但使用正则表达式模式来避免使用转义字符“\”来避免“.”字符。

find . -not -path '*/\.*' -type f | wc -l

运行上述代码得到以下结果:

13

更新于:2020年1月3日

3K+ 浏览量

启动你的职业生涯

完成课程获得认证

开始学习
广告