首页/系统/Linux 运维命令速查/printf 格式化输出
本包目录(613 条)
文件与目录76 条
文本处理77 条
网络命令82 条进程与作业69 条磁盘与文件系统51 条用户与权限44 条日志与排查40 条systemd 与服务42 条包管理34 条性能与监控48 条定时任务与计划50 条

printf 格式化输出

比 echo 更可控的输出方式:宽度对齐(%-20s)、进制转换(%d 读 0x1f)、转义(%q),也是写循环生成文件的常用工具。

Linux 运维命令速查系统更新于 2026-10-12
用途按格式串输出(bash 内建与 /usr/bin/printf)
语法printf 格式串 [参数...]
常用%s 字符串 %d 整数 %q 转义 %02d 两位补零

常用示例

常用示例
printf '%-16s %s\n' host01 online host02 offline   # 对齐两列
printf '%02d\n' $(seq 1 5)         # 01 02 03 04 05
printf '%q\n' 'a b;c'              # 输出 shell 安全转义形式
printf '进度: %d%%\r' 42            # 百分号要写 %%,\r 原地刷新
echo -e 的行为因 shell/发行版而异,脚本里需要转义输出时优先 printf。

易错点

  • 格式串里的 % 一律特殊:打印真正的百分号写 %%,漏了会把后面的内容当格式符解析
  • 参数不够时 bash 内建按格式串循环重用(善用可生成重复行),但多参数场景注意分组语义

数据来源与参考

  • man 1 printf(GNU coreutils 手册)
  • bash 内建 printf(man bash)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌