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

tee 分流输出到文件

管道中的三岔口:命令输出既进下一个程序又写文件;-a 追加,sudo tee 解决权限写文件问题。

Linux 运维命令速查系统更新于 2026-10-12
用途同时写屏幕/文件/管道
语法命令 | tee [选项] 文件
选项-a 追加 -i 忽略中断

常用示例

常用示例
deploy.sh 2>&1 | tee deploy-$(date +%F).log
make 2>&1 | tee -a build.log
# 需要 root 权限写文件(重定向由 shell 执行,sudo 管不到):
echo 'net.ipv4.ip_forward=1' | sudo tee /etc/sysctl.d/99-forward.conf
管道诊断时 tee 保留原始输出:排查构建/部署日志非常常用。

易错点

  • 管道退出码默认取最后一个命令(tee),源命令失败被吞:set -o pipefail 或 $${{PIPESTATUS[0]} 取源命令状态
  • tee 到已满磁盘会报错但管道前段可能继续跑,关键任务检查 tee 的退出码

数据来源与参考

  • man 1 tee(GNU coreutils 手册)

相关工具

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