如何在Linux中对目录中的文件进行统计

尽管不是很经常,但有时您需要找出指定目录中有多少个文件。 例如,如果Linux系统上的 inodes 用完了,则需要查找哪个目录包含成千上万个文件。
在本文中,我们将向您展示几种在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命令对目录中的文件进行统计计数。
如果您有任何疑问或反馈,请随时发表评论。
以上是 如何在Linux中对目录中的文件进行统计 的全部内容, 来源链接: utcz.com/z/507539.html
