统计文件大小用ls -lh(易读)或ls -l | awk '{print $5}'(字节数),目录总大小用du -sb * | awk '{sum+=$1} end{print sum " bytes"}',行数用wc -l,同时查看用stat -f "%z bytes"和wc -l。
mac 终端里统计文件大小和行数是两个常见但不同的需求,对应不同命令,操作简单但细节容易出错。
统计单个文件的大小
用 ls -lh 最直观:
-
ls -lh filename显示该文件的易读大小(如 2.4M、1.2G) -
-l是长格式,-h表示 human-readable(自动选 KB/MB/GB) - 如果只要纯字节数,用
ls -l filename | awk '{print $5}',提取第五列(字节数)
统计多个文件或整个文件夹的总大小
- 当前目录所有一级文件(不含子目录)总大小:
du -sh * 2>/dev/null | awk '{sum += $1} END {print sum}'
⚠️注意:这个写法在 macOS 上不直接支持单位相加,更稳妥的是用du -sb * | awk '{sum += $1} END {print sum " bytes"}',再手动换算 - 推荐做法:用
du -sh .查当前文件夹整体占用空间(含子目录、隐藏文件、资源分叉等),结果最接近访达“显示简介”里的“已使用”值
统计文件的行数
-
wc -l filename是标准方法,输出类似1248 filename - 若文件名含空格或特殊字符,加引号:
wc -l "my data.txt" - 统计多个文件行数并汇总:
wc -l *.txt,最后一行total就是合计 - 只要数字不要文件名:
wc -l filename | awk '{print $1}'
同时看大小和行数(适合文本类文件)
比如想快速了解一个日志文件有多大、有多少行:
stat -f "%z bytes" filename; wc -l filename
stat -f "%z" 在 macOS 上准确返回字节数(比 ls -l 更可靠,尤其对硬链接或特殊文件)
基本上就这些。










