如何在Linux中对目录中的文件进行计数
时间:2020-03-05 15:26:22 来源:igfitidea点击:
尽管不是很经常,但有时我们需要找出给定目录中有多少个文件。
例如,如果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