网站搜索

如何查找目录和子目录中的文件数量


在本指南中,我们将介绍如何显示 Linux 系统上当前工作目录或任何其他目录及其子目录中的文件总数。

我们将使用 find 命令,该命令用于在目录层次结构中搜索文件,以及 wc 命令,该命令打印每个文件的换行符、单词和字节数,或者从标准输入读取的数据。

以下是我们可以与 find 命令一起使用的选项,如下所示:

  1. -type – 指定要搜索的文件类型,在上面的情况下,f 表示查找所有常规文件。
  2. -print – 打印文件绝对路径的操作。
  3. -l – 该选项打印换行符的总数,它等于 find 命令输出的绝对文件路径的总数。

find 命令的一般语法。

find . -type f -print | wc -l
sudo find . -type f -print | wc -l

重要:使用sudo命令可以读取指定目录下的所有文件,包括具有超级用户权限的子目录下的文件,以避免“权限被拒绝 ” ” 错误,如下面的屏幕截图所示:

可以看到,在上面的第一个命令中,find命令并没有读取当前工作目录中的所有文件。

以下是分别显示 /var/log/etc 目录中常规文件总数的额外示例:

sudo find /var/log/ -type f -print | wc -l
sudo find /etc/ -type f -print | wc -l

有关 Linux find 命令wc 命令 的更多示例,请参阅以下系列文章,了解其他使用选项、提示和相关命令:

  1. Linux 中 35 个有用的“find”命令示例
  2. 如何在 Linux 中查找最近或今天修改的文件
  3. 查找 Linux 中前 10 个目录和文件磁盘空间
  4. 6 个有用的“wc”命令示例来计算行数、单词数和字符数

就这样!如果您知道显示目录及其子目录中文件总数的任何其他方法,请在评论中与我们分享。