wc命令默认输出行数、单词数、字节数三类统计值,顺序固定;可用-l、-w、-c、-m选项分别获取单项结果;支持管道、多文件及隐藏文件处理,但受编码、环境变量及空行影响。

直接用 wc 命令就能一次性获得文件的行数、单词数和字节数,无需额外参数,默认行为就是如此。
基础统计:默认输出三类数值
执行 wc 文件名,会按固定顺序输出三个数字加文件名:
- 第一个数字是行数(以换行符
\n为分隔) - 第二个数字是单词数(以空白、制表符或换行符分隔的非空字符串)
- 第三个数字是字节数(即文件实际占用的字节大小,含空格、换行等)
例如:wc data.log 输出 142 896 5203 data.log,表示该文件有 142 行、896 个单词、5203 字节。
Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。
精准统计:用选项限定输出内容
若只需某一项结果,避免冗余信息,使用对应选项:
-
wc -l 文件名→ 只显示行数(如142 data.log) -
wc -w 文件名→ 只显示单词数(如896 data.log) -
wc -c 文件名→ 只显示字节数(如5203 data.log) -
wc -m 文件名→ 显示字符数(对含中文、emoji 的文件更准确,与-c在 ASCII 文件中结果一致)
实用技巧:跳过文件名、处理多文件与管道输入
运维中常需干净数字或批量处理:
- 只取数字不带文件名:
wc -l 或 <code>cat 文件名 | wc -l - 统计多个文件:直接列出,
wc -l file1.txt file2.conf,末尾自动追加total行 - 配合管道使用:
ps aux | wc -l统计进程数;grep "ERROR" app.log | wc -l统计错误行数 - 排除隐藏文件统计当前目录所有普通文件行数:
wc -l * 2>/dev/null(2>/dev/null屏蔽无匹配时的报错)
注意细节:空行、编码与环境影响
几个容易忽略但影响结果的关键点:
- 空行会被计入
-l结果;如需非空行数,可用grep -v '^$' 文件名 | wc -l -
-w对中文文本统计不准确(因按空白分隔),-m更适合多语言场景 - 结果受
LANG或LC_CTYPE环境变量影响,比如 UTF-8 下-m和-c可能不同 - 统计符号链接时,
wc默认读取目标文件内容,不是链接本身










