在本指南中,我们将介绍如何在 Linux 系统上显示当前工作目录或任何目录及其子目录中的文件数量。
我们将使用 find 命令,它用于搜索目录层次结构中的文件,以及 wc 命令,它会打印每个文件或来自标准输入的换行符、单词和字节计数。
以下是我们在 find 命令中使用的选项,如下所示:
-type
- 指定要搜索的文件类型,在上面的情况下,f
表示查找所有常规文件。-print
- 打印文件绝对路径。
以下是我们 wc 命令中使用的选项,如下所示:
-l
- 此选项打印换行符的总数,也即由 find 命令输出的绝对文件路径总数。
find
命令的一般语法。
# find . -type f -print | wc -l
$ sudo find . -type f -print | wc -l
重要:使用 sudo 命令来读取指定目录中的所有文件,包括具有超级用户权限的子目录中的文件,以避免 “Permission denied” 错误,如下截图所示:
Linux 中的文件数量
你可以看到,在上面的第一个命令中,find
命令没有读取当前工作目录中的所有文件。
下面是更多的示例,分别显示 /var/log
和 /etc
目录中的常规文件总数:
$ sudo find /var/log/ -type f -print | wc -l
$ sudo find /etc/ -type f -print | wc -l
有关 Linux 中 find
和 wc
命令的更多示例,请查看以下系列文章以了解其他使用选项,提示和相关命令:
- 35 个 Linux 中的 “find” 命令示例
- 如何在 Linux 中查找最近或今天的修改的文件
- 在 Linux 中查找十个占用最大的目录和文件
- 6 个有用的 “wc” 命令示例来计算行数、单词和字符
就是这样了!如果你知道其他任何方法来显示目录及其子目录中的文件总数,请在评论中与我们分享。
作者简介:
Aaron Kili 是 Linux 和 F.O.S.S 爱好者,将来的 Linux SysAdmin、web 开发人员,目前是 TecMint 的内容创建者,他喜欢用电脑工作,并坚信分享知识。
via: http://www.tecmint.com/find-number-of-files-in-directory-subdirectories-linux/
作者:Aaron Kili 译者:geekpi 校对:wxy
江湖再见