云网牛站
所在位置:首页 > Linux命令 > 在Linux系统上计算目录中的文件及递归计数目录中的文件

在Linux系统上计算目录中的文件及递归计数目录中的文件

2020-07-16 10:00:51作者:刘若鑫稿源:云网牛站

在本文中,我们将向您介绍在Linux系统上查找目录中文件数量的几种不同方法,使用ls、find和tree命令可达到目的。尽管不是很经常,但是有时您需要找出给定目录中有多少个文件,例如,如果Linux系统上的inode用完了,则需要查找包含数千或数百万个文件的目录,本文将为您带来这方面的技能。

在Linux系统上计算目录中的文件及递归计数目录中的文件

 

计算目录中的文件

计算目录中文件的最简单方法是使用ls在每行中列出一个文件,然后将输出传递给wc以对行进行计数:

ls -1 DIR_NAME | wc -l

参考:ls命令_Linux ls命令使用详解:显示目录内容列表

上面的命令将为您提供所有文件的总和,包括目录和符号链接,如果只想计算文件而不包括目录,则可以使用以下命令:

ls -1p DIR_NAME | grep -v / | wc -l

-p选项使ls将斜杠(/)指示符附加到目录,输出通过管道传递到排除目录的grep -v命令。

ls -1也不计算隐藏文件(点文件)。

要更好地控制列出的文件,可以使用find命令代替ls:

find DIR_NAME -maxdepth 1 -type f | wc -l

参考:find命令_Linux find命令使用详解:在指定目录下查找文件

-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系统目录中的文件进行计数,方法非常的简单,多输入练习即可学会这方面的技能。

 

相关主题

tree命令_Linux tree命令使用详解:树状图列出目录的内容

Linux命令子频道
精选文章
热门文章