在 Linux 下统计文件数量,常见需求有几种,下面按场景给你总结:
ls -l | grep "^-" | wc -l
或更直接:
find . -maxdepth 1 -type f | wc -l
find . -type f | wc -l
只统计文件(不含目录)
find . -type d | wc -l
.txt 文件数find . -type f -name "*.txt" | wc -l
ls *.log 2>/dev/null | wc -l
for dir in */; do
echo "$dir: $(find "$dir" -type f | wc -l)"
done
tree 命令(直观)如果安装了 tree:
tree
或只显示统计:
tree -L 1
wc -l 统计的是行数find 更可靠,不受文件名空格影响.xxx)默认包含在 find 中如果你有具体场景(比如“统计某用户文件”“排除某些目录”“按大小分类”),可以告诉我,我给你定制命令。