如何在Linux中对目录中的文件进行计数
尽管不是很经常,但是有时您需要找出给定目录中有多少个文件。 例如,如果您的Linux系统上的inode用尽了,则需要查找哪个目录包含数千或数百万个文件。
在本文中,我们将向您展示在Linux中查找目录中文件数量的几种不同方法。
计算目录号中的文件
计算目录中文件的最简单方法是每行列出一个文件 ls
并将输出通过管道传输到 wc
计算行数:
ls -1U DIR_NAME | wc -l
上面的命令将为您提供所有文件的总和,包括目录和符号链接。 的 -1
选项表示每行列出一个文件,并且 -U
告诉 ls
不要对输出进行排序,这会使命令的执行更快。
ls -1U
该命令不计算隐藏文件(点文件)。
如果只想计算文件而不包括目录,请使用以下命令:
ls -1Up DIR_NAME | grep -v / | wc -l
的 -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
和 tree
命令。
如果您有任何疑问或反馈,请随时发表评论。
查找wc ls树终端