linux基础重定向及组合重定向

一、基础重定向操作符

|-------------|-----------|---------------------|----------------------------|------------------|
| ‌类别‌ | ‌操作符‌ | ‌含义‌ | ‌示例‌ | ‌备注‌ |
| ‌标准输出‌ | > | 覆盖写入 stdout 到文件 | ls > file.txt | 文件不存在则创建,存在则清空内容 |
| | >> | 追加 stdout 到文件末尾 | date >> log.txt | 保留原有内容 |
| ‌标准错误‌ | 2> | 覆盖写入 stderr 到文件 | rm not_exist 2> err.log | 仅捕获错误信息 |
| | 2>> | 追加 stderr 到文件末尾 | make 2>> err.log | 错误日志持续累积 |
| ‌输入重定向‌ | < | 从文件读取 stdin | sort < data.txt | 替代键盘输入 |
| | << | 多行输入(Here Document) | cat << EOF ... EOF | 自定义结束标记 |

二、组合重定向技巧

|------------|-----------------|----------------------|-------------------------------------------|------------------|
| ‌类别‌ | ‌操作符/组合‌ | ‌含义‌ | ‌示例‌ | ‌备注‌ |
| ‌流合并‌ | &>&>> | 合并stdout和stderr到同一文件 | sh script.sh &> command.log | 简写形式(新版 Bash 支持) |
| | 2>&1 | 将stderr合并到stdout流 | sh script.sh > command.log 2>&1 | 顺序敏感(必须写在普通重定向后) |
| ‌流分离‌ | > file 2> err | 分离stdout和stderr | python app.py > out.log 2> err.log | 独立记录两种输出类型 |
| ‌管道结合‌ | | + 2> | 过滤错误后传递有效输出 | grep "error" syslog 2>/dev/null | wc -l | 丢弃错误信息以提高管道效率 |
| ‌黑洞设备‌ | >/dev/null | 丢弃所有输出 | nohup ./start.sh >/dev/null 2>&1 & | 常用于后台静默执行 |

关键注意事项:
  1. 操作符顺序 ‌:合并操作 2>&1 必须写在普通重定向之后,否则无法生效
  2. 覆盖风险 ‌:> 会直接覆盖文件内容,敏感操作建议先备份
  3. 追加>> 适用于日志累积,可以避免历史数据丢失
相关推荐
Dachui_112210 小时前
ZeroNews LFS 使用教程:NAS 文件发布为公网 HTTPS 文件空间,不传网盘、按人授权、免登录分享
运维·网络安全·文件共享·团队协作·nas
智能运维指南10 小时前
2026年企业自动化运维平台选型:四类架构的差异与决策逻辑
运维·人工智能·嘉为蓝鲸
探索云原生10 小时前
KubeClipper 1.7.0 发布:Operation 优化与 Kubernetes 1.37 支持
linux·docker·云原生·kubernetes·go
szephyr10 小时前
Nginx 反向代理实战:从 502、跨域到 HTTPS,一次打通
运维·nginx·https·部署·反向代理
一技安身10 小时前
【信创】docker-26.0.2.tgz 原理 + 完整安装
linux·运维·服务器
程曦曦11 小时前
MySQL 生产库误删 98 张表后的时间点恢复实战:从 binlog 解析到资金对账
linux·数据结构·其他·算法·ubuntu·运维开发
Dachui_112211 小时前
内网穿透 Webhook 告警实战:客户端离线、应用探测、资源删除全覆盖
运维·远程工作·内网穿透·devops·webhook·服务器监控·应用探测
数据智研11 小时前
【数据分享】300个城市-5G试点城市DID数据(2014-2025)
大数据·运维·人工智能·信息可视化·数据分析
honsor11 小时前
工业级网口温湿度变送器 ModbusTCP 机房动环环境监测终端
运维·网络·人工智能·物联网·安全·云计算·智能温湿度监测系统
赵民勇11 小时前
systemd-mount命令详解
linux