温馨提示×

linux如何统计文件数量

小樊
67
2026-09-25 19:37:59
栏目: 智能运维

在 Linux 中,统计文件数量通常根据统计范围和是否包含子目录来决定使用什么命令。下面按常见场景说明:


一、统计当前目录下的文件数量(不含子目录)

1️⃣ 只统计普通文件

ls -l | grep "^-" | wc -l

或更推荐(避免文件名带换行等问题):

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

2️⃣ 只统计目录数量

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

注意:结果会包含当前目录 .,通常减 1


3️⃣ 统计所有条目(文件 + 目录)

ls -1 | wc -l

二、统计包含子目录的所有文件

1️⃣ 统计所有文件(递归)

find . -type f | wc -l

2️⃣ 统计所有目录(递归)

find . -type d | wc -l

三、统计某一类文件(如 .txt)

find . -type f -name "*.txt" | wc -l

四、统计某目录下的文件数量(不进入子目录)

find /path/to/dir -maxdepth 1 -type f | wc -l

五、按文件类型分别统计(进阶)

find . -type f | wc -l   # 普通文件
find . -type l | wc -l   # 软链接
find . -type d | wc -l   # 目录

六、常见问题说明

  • wc -l:统计行数
  • find 比 ls 更安全(支持特殊文件名)
  • maxdepth 1 表示不递归

如果你有具体场景(比如:只统计某用户文件、排除某些目录、统计最近 7 天文件),可以告诉我,我给你更精确的命令。

0 踩