如何查看 Linux 中某个目录中的文件数

系统 Linux
今天我们总结一下查看 Linux 中目录下文件数量的方法。

如果一个目录中文件数不是很多,那就可以一眼看出其中有多少个文件。但是如果计算子目录在内的文件数呢?或者如果文件数量很多,比如几百上千个,那么怎么确切地知道该目录下的文件数呢?

今天我们总结一下查看 Linux 中目录下文件数量的方法。

方法1:使用 ls 和 wc 命令

最简单的方法是使用 wc 命令来计算文件数。如下所示:

ls | wc -l

上述命令将会计算所有文件和目录,但不包括隐藏的文件和目录。如果想要将隐藏的文件和目录也包括在内,可以在 ls 命令后添加 -A 选项,不过这不会将目录 . 以及 .. 计算在内。

ls -A | wc -l

如果只想计算当前目录中的文件数(包括隐藏文件),可以使用如下组合命令:

ls -Ap | grep -v /$ | wc -l

上述命令中:

  • ls 命令的 -p 选项在目录名称的末尾添加 /
  • ls 命令的 -A 选项会列出所有文件和目录,包括隐藏的文件,但是不包括 . ..
  • grep -v /$ 只显示文件末尾不带 / 的条目(即只显示文件);
  • wc -l 计算数量。

图片

也就是说,使用 ls 命令列出所有文件和目录(在目录名的末尾添加 / 以将其与文件做个区分),然后使用管道重定向将其输出使用 grep 解析​,​grep 命令​只显示末尾没有 / 的条目,最后使用 wc 命令计算条目数量。

方法2:使用 tree 命令计算目录中的文件数

除了使用 ls 和 wc 命令以外,还可以使用 tree 命令显示当前目录及其所有子目录中的文件数。如下所示:

tree -a

图片

如上图所示,在最后一行显示了文件和目录的数量,这是包括了隐藏的文件和目录的(因为 -a 选项)。

如果只想获取当前目录中的文件数,而不需要计算子目录,可以设置级别 1,如下所示:

tree -a -L 1

图片

方法3:使用 find 命令计算目录中的文件数

find 命令在处理文件相关的问题时,总是很有用的。

要计算目录中的文件数,首先使用 find 命令获取所有文件,然后使用 wc 命令计算数量。如下所示:

find directory_path -type f | wc -l

上述命令中 -type -f 选项表示只查找文件。

如果不希望从子目录中获取文件,请将find命令的范围限制在级别1,即当前目录。如下所示:

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

图片

以上就是本次分享全部内容,欢迎讨论。

责任编辑:庞桂玉 来源: TIAP
相关推荐

2017-02-05 17:18:08

Linuxfind 命令文件数量

2016-12-20 09:47:17

Linux命令复制文件到多个目录

2018-06-01 10:37:26

Linux归档文件压缩文件

2009-12-08 12:06:03

linux当前目录文件数

2021-01-19 08:07:50

Linux日期文件

2022-10-13 19:23:21

Linux命令行IP 地址

2010-03-16 14:15:37

Linux系统

2018-11-05 09:45:01

Linux文件系统命令

2016-11-24 09:22:20

Linux时区NTP服务器

2019-03-18 09:40:44

Linux命令编程语言

2010-04-23 14:50:29

Aix操作系统

2016-11-17 12:46:45

2015-12-21 13:34:31

LinuxGPU显卡硬件

2009-12-18 15:16:49

Ruby on Rai

2021-03-08 11:47:34

内核Linux内核模块

2019-03-20 10:00:34

Linux网络接口命令

2009-12-09 14:56:54

Linux查看目录文件

2019-09-24 20:07:30

Linux移动文件 命令

2023-08-01 08:26:24

Linux文件目录

2019-04-01 19:00:40

Linuxshell内置命令
点赞
收藏

51CTO技术栈公众号