TranslateProject/published/201701/20170117 How to Find Number of Files in a Directory and Subdirectories.md

79 lines
3.6 KiB
Markdown
Raw Permalink Normal View History

如何知道目录及子目录下文件的数量
2017-01-19 12:57:41 +08:00
============================================================
在本指南中,我们将介绍如何在 Linux 系统上显示当前工作目录或任何目录及其子目录中的文件数量。
2017-01-19 12:57:41 +08:00
我们将使用 [find 命令][6],它用于搜索目录层次结构中的文件,以及 [wc 命令][7],它会打印每个文件或来自标准输入的换行符、单词和字节计数。
2017-01-19 12:57:41 +08:00
以下是我们在 [find 命令][8]中使用的选项,如下所示:
2017-01-19 12:57:41 +08:00
1. `-type` - 指定要搜索的文件类型,在上面的情况下,`f` 表示查找所有常规文件。
2017-01-19 12:57:41 +08:00
2. `-print` - 打印文件绝对路径。
以下是我们 [wc 命令][8]中使用的选项,如下所示:
1. `-l` - 此选项打印换行符的总数,也即由 [find 命令][1]输出的绝对文件路径总数。
`find` 命令的一般语法。
2017-01-19 12:57:41 +08:00
```
# find . -type f -print | wc -l
$ sudo find . -type f -print | wc -l
```
重要:使用 [sudo 命令][9]来读取指定目录中的所有文件,包括具有超级用户权限的子目录中的文件,以避免 “Permission denied” 错误,如下截图所示:
2017-01-19 12:57:41 +08:00
[
![Find Number of Files in Linux](http://www.tecmint.com/wp-content/uploads/2017/01/Find-Number-of-Files-in-Linux.png)
][10]
*Linux 中的文件数量*
2017-01-19 12:57:41 +08:00
你可以看到,在上面的第一个命令中,`find` 命令没有读取当前工作目录中的所有文件。
2017-01-19 12:57:41 +08:00
下面是更多的示例,分别显示 `/var/log``/etc` 目录中的常规文件总数:
2017-01-19 12:57:41 +08:00
```
$ sudo find /var/log/ -type f -print | wc -l
$ sudo find /etc/ -type f -print | wc -l
```
有关 Linux 中 `find``wc` 命令的更多示例,请查看以下系列文章以了解其他使用选项,提示和相关命令:
2017-01-19 12:57:41 +08:00
1. [35 个 Linux 中的 “find” 命令示例][2]
2. [如何在 Linux 中查找最近或今天的修改的文件][3]
3. [在 Linux 中查找十个占用最大的目录和文件][4]
4. [6 个有用的 “wc” 命令示例来计算行数、单词和字符][5]
就是这样了!如果你知道其他任何方法来显示目录及其子目录中的文件总数,请在评论中与我们分享。
--------------------------------------------------------------------------------
作者简介:
![](http://1.gravatar.com/avatar/4e444ab611c7b8c7bcb76e58d2e82ae0?s=128&d=blank&r=g)
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][a]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
2017-01-19 12:57:41 +08:00
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]:http://www.tecmint.com/author/aaronkili/
[1]:http://www.tecmint.com/find-top-large-directories-and-files-sizes-in-linux/
[2]:http://www.tecmint.com/35-practical-examples-of-linux-find-command/
[3]:http://www.tecmint.com/find-recent-modified-files-in-linux/
[4]:http://www.tecmint.com/find-top-large-directories-and-files-sizes-in-linux/
[5]:http://www.tecmint.com/wc-command-examples/
[6]:http://www.tecmint.com/35-practical-examples-of-linux-find-command/
[7]:http://www.tecmint.com/wc-command-examples/
[8]:http://www.tecmint.com/find-recent-modified-files-in-linux/
[9]:http://www.tecmint.com/sudoers-configurations-for-setting-sudo-in-linux/
[10]:http://www.tecmint.com/wp-content/uploads/2017/01/Find-Number-of-Files-in-Linux.png