一、基础重定向操作符
| 类别 | 操作符 | 含义 | 示例 | 备注 |
| 标准输出 |
| 覆盖写入 stdout 到文件 |
| 文件不存在则创建,存在则清空内容 |
|
| 追加 stdout 到文件末尾 |
| 保留原有内容 | |
| 标准错误 |
| 覆盖写入 stderr 到文件 |
| 仅捕获错误信息 |
|
| 追加 stderr 到文件末尾 |
| 错误日志持续累积 | |
| 输入重定向 |
| 从文件读取 stdin |
| 替代键盘输入 |
|
| 多行输入(Here Document) |
| 自定义结束标记 |
二、组合重定向技巧
| 类别 | 操作符/组合 | 含义 | 示例 | 备注 |
| 流合并 |
| 合并stdout和stderr到同一文件 |
| 简写形式(新版 Bash 支持) |
|
| 将stderr合并到stdout流 |
| 顺序敏感(必须写在普通重定向后) | |
| 流分离 |
| 分离stdout和stderr |
| 独立记录两种输出类型 |
| 管道结合 |
| 过滤错误后传递有效输出 |
| 丢弃错误信息以提高管道效率 |
| 黑洞设备 |
| 丢弃所有输出 |
| 常用于后台静默执行 |
关键注意事项:
- 操作符顺序:合并操作
2>&1必须写在普通重定向之后,否则无法生效 - 覆盖风险:
>会直接覆盖文件内容,敏感操作建议先备份 - 追加:
>>适用于日志累积,可以避免历史数据丢失