如何知道目录及子目录下文件的数量

我们将使用 find 命令,它用于搜索目录层次结构中的文件,以及 wc 命令,它会打印每个文件或来自标准输入的换行符、单词和字节计数。

以下是我们在 find 命令中使用的选项,如下所示:

  1. -type – 指定要搜索的文件类型,在上面的情况下,f 表示查找所有常规文件。
  2. -print – 打印文件绝对路径。

以下是我们 wc 命令中使用的选项,如下所示:

  1. -l – 此选项打印换行符的总数,也即由 find 命令输出的绝对文件路径总数。

find 命令的一般语法。

  1. # find . -type f -print | wc -l
  2. $ sudo find . -type f -print | wc -l

重要:使用 sudo 命令来读取指定目录中的所有文件,包括具有超级用户权限的子目录中的文件,以避免 “Permission denied” 错误,如下截图所示:

Linux 中的文件数量

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

下面是更多的示例,分别显示 /var/log/etc 目录中的常规文件总数:

  1. $ sudo find /var/log/ -type f -print | wc -l
  2. $ sudo find /etc/ -type f -print | wc -l