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

重定向与管道(> >> 2>&1 |)

把标准输出/错误输出接到文件或其他命令:日志落盘、错误分离、tee 双写,是运维脚本最基础的一层语法。

Linux 运维命令速查系统更新于 2026-10-12
用途命令输入输出的转向与分流
符号> 覆盖 >> 追加 2> 错误 < 输入 | 管道 tee 双写
注意>&2 与 2>&1 的顺序语义

常用示例

常用示例
cmd > out.log 2>&1          # 标准输出与错误都进文件
cmd >> app.log 2>&1         # 追加模式
cmd 2>> err.log             # 只追加错误到 err.log
cmd1 | cmd2 | tee all.log   # 管道 + 同时留档

写需要 root 权限的文件

写需要 root 权限的文件
sudo tee /etc/foo.conf <<'EOF'
key=1
EOF
重定向由当前 shell(不是 sudo)执行;sudo tee 才是「提升权限写文件」的正确姿势。

易错点

  • 顺序决定语义:cmd 2>&1 > f 只把 stdout 送进文件、stderr 仍打屏;正确写法是 cmd > f 2>&1
  • > 的截断发生在命令运行前,命令即使失败文件也已被清空,日志文件误用 > 会丢失现场

数据来源与参考

  • man 1 bash(REDIRECTION 章节)

相关工具

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