当前位置: 首页 > news >正文

9.Shell 输入输出重定向

在Shell脚本中,输入/输出重定向是非常强大的功能,它允许你控制命令的输入来源和输出目标。这可以通过一系列符号来实现,包括 >, <, >>, 2>, &>, | 等。

文件描述符 0 通常是标准输入(STDIN),1 是标准输出(STDOUT),2 是标准错误输出(STDERR)

1.标准输出重定向 (>>>)

  • >:将命令的标准输出(stdout)重定向到一个文件。如果文件已存在,则覆盖该文件。
  • >>:将命令的标准输出追加到一个文件中。如果文件不存在,则会创建新文件。
echo "Hello, World!" > output.txt  # 创建或覆盖output.txt,并写入"Hello, World!"
echo "Another line." >> output.txt  # 追加一行到output.txt

2.标准错误重定向 (2>, 2>>)

  • 2>:将命令的标准错误(stderr)重定向到一个文件。如果文件已存在,则覆盖该文件。
  • 2>>:将命令的标准错误追加到一个文件中。如果文件不存在,则会创建新文件。
ls /nonexistent_directory 2> error.log  # 将错误信息写入error.log
ls /nonexistent_directory 2>> error.log  # 追加错误信息到error.log

3.同时重定向标准输出和标准错误

  • &>>&:将命令的标准输出和标准错误同时重定向到同一个文件。使用 &> 时,如果文件已存在则覆盖;使用 >& 通常用于追加模式。
  • &>>:将命令的标准输出和标准错误同时追加到同一个文件中。
ls /nonexistent_directory &> all_output.log  # 覆盖all_output.log
ls /nonexistent_directory &>> all_output.log  # 追加到all_output.log

4.输入重定向 (<)

  • <:从文件中读取内容作为命令的输入。
sort < input.txt  # 对input.txt中的行进行排序

5.管道 (|)

  • |:管道操作符用来连接两个命令,前一个命令的输出作为后一个命令的输入。
cat file.txt | grep "pattern"  # 在file.txt中搜索包含"pattern"的行

6.其他高级重定向

  • n>&m:将文件描述符 n 重定向到文件描述符 m。例如,2>&1 表示将标准错误重定向到与标准输出相同的位置。
  • n<&m:类似于上面的操作,但方向相反,即将文件描述符 m 的内容复制给文件描述符 n
command 2>&1  # 将标准错误重定向到标准输出
command 2>&1 | tee logfile  # 将标准输出和标准错误同时显示在终端并记录到logfile
http://www.jsqmd.com/news/1361812/

相关文章:

  • 如何彻底卸载Microsoft Edge:Windows系统优化终极指南
  • 3种专业方法:彻底修复Rufus创建Ubuntu启动盘后USB设备无法识别问题
  • Virtual Display Driver:Windows虚拟显示器驱动全面指南
  • MySQL与Elasticsearch数据同步方案对比与实践
  • 3.H264-5 基础.
  • M8连接器在EtherCAT/PROFINET分布式IO方案中的选型规范与布线要点
  • VRCX终极指南:如何通过免费工具彻底改变你的VRChat社交体验
  • 深度剖析WPF UI应用生命周期:从启动到退出的专业管理方案
  • LunaTranslator:打破语言壁垒的视觉小说翻译终极指南
  • NvStrapsReBar终极指南:为老旧主板解锁Turing显卡的完整性能潜力
  • 数据库性能排查五步法:从慢查询到系统资源优化
  • 2026.8.9
  • 5分钟快速上手:OpenMiko开源固件让你的智能摄像头重获新生
  • 探索Banana for Solr的D3.js可视化:创建交互式数据图表的终极指南
  • MySQL与Elasticsearch数据同步方案全解析
  • 深入解析MCExtractor:5大核心功能助你掌握CPU微码提取技术
  • 济南企业级护航系统源码升级:从接单工具到多角色运营平台的技术演进 - 壹软科技
  • OrcaSlicer命令行自动化:彻底解放双手的3D打印批量处理方案
  • 注意力机制实战指南:从Transformer原理到YOLOv8应用
  • Chrome DevTools MCP:企业级浏览器自动化架构设计与实现原理
  • LLM应用开发三维度:从提示工程到平台工程的工程化实践
  • Docker镜像管理全攻略:从基础概念到企业级实践
  • 智慧警务大数据搜索系统架构与实战应用
  • Awoo Installer:面向新手的终极Nintendo Switch游戏安装指南
  • nano banana pro 怎么用?甜甜圈API 用 nano banana pro 做局部重绘的接口写法
  • RK3588边缘AI实现111FPS无人机电力巡检:YOLOv8异步处理系统全解析
  • 3大核心测试揭示Gemma4-12B-QAT无审查模型的终极性能与部署指南
  • Docker运行hello-world报错排查与解决方案
  • 我画了一张流程图,83 分钟后,Codex 把它做成了一个能跑的工单原型
  • WSL2原生安装Docker引擎全攻略