在 Linux 中统计文件数量,常见需求有几种情况,下面按不同场景给你总结常用命令。
ls -l | grep "^-" | wc -l
说明:
ls -l:列出详细信息grep "^-":只匹配普通文件(以 - 开头)wc -l:统计行数✅ 只统计文件,不包含目录
find . -type f | wc -l
说明:
find .:从当前目录开始查找-type f:只找普通文件wc -l:统计数量✅ 最常用的方式
find /path/to/dir -maxdepth 1 -type f | wc -l
find . -type d | wc -l
(包含当前目录 .)
如果不想算当前目录:
find . -type d -not -path "." | wc -l
.txt 文件数量find . -type f -name "*.txt" | wc -l
find . -type f -not -name ".*" | wc -l
for dir in */; do
echo "$dir: $(find "$dir" -type f | wc -l)"
done
ls | wc -l
⚠️ 会包含目录,且对文件名含换行的情况不准
如果你能说明:
我可以给你更精确的命令。