虽然不是很常见,但有时您需要找出给定目录中有多少个文件。例如,如果您用完inodes在 Linux 系统上,您需要查找哪个目录包含数千或数百万个文件。
在本文中,我们将向您展示几种在 Linux 中查找目录中文件数量的不同方法。
计算目录中的文件数#
计算目录中文件数的最简单方法是每行列出一个文件ls并将输出通过管道传输到wc计算行数:
ls -1U DIR_NAME | wc -l
上面的命令将为您提供所有文件的总和,包括目录和符号链接。这-1
选项表示每行列出一个文件,并且-U
tells ls
不对输出进行排序,这使得命令的执行速度更快。
ls -1U
命令不计算隐藏文件(点文件)。
如果您只想计算文件而不包括目录,请使用以下命令:
ls -1Up DIR_NAME | grep -v / | wc -l
The -p
选择力ls
附加斜杠 (/
) 目录指示符。输出通过管道传输到grep -v排除目录的命令。
要更好地控制列出的文件,请使用find
命令而不是ls
:
find DIR_NAME -maxdepth 1 -type f | wc -l
-type f
选项告诉find
仅列出文件(包括点文件),以及-maxdepth 1
将搜索限制为一级目录。
递归计算目录中的文件数#
要递归计算目录中的文件数,请运行find
命令如下:
find DIR_NAME -type f | wc -l
另一个可用于计算文件数量的命令是tree
以树状格式列出目录的内容:
tree DIR_NAME
输出的最后一行将显示列出的文件和目录的总数:
15144 directories, 91311 files
结论#
我们向您展示了如何使用以下命令来计算目录中的文件数量ls
, find
and tree
命令。
如果您有任何问题或反馈,请随时发表评论。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)