linux的i/o重定向 初级理解

linux的i/o重定向 初级理解
inux I/O 重定向是运维、Shell 脚本、项目部署的核心基础核心本质是不修改程序和命令仅在 Shell 层面改变数据流向是服务器日志收集、自动化脚本的必备技能。一、核心底层三大标准流Linux 进程默认自带 3 个固定数据流所有重定向均基于此实现0 标准输入stdin默认从键盘读取数据1 标准输出stdout默认将正常结果输出到屏幕2 标准错误stderr默认将报错信息输出到屏幕二、五大核心重定向符号生产环境仅需掌握以下 5 种符号覆盖所有使用场景标准输出覆盖清空文件后写入命令正常结果标准输出追加在文件末尾累加写入结果长期日志首选2 错误输出覆盖单独保存程序报错信息2 错误输出追加累加保存报错日志 输入重定向程序从文件读取数据替代键盘输入三、生产高频万能用法全量日志统一输出java -jar app.jar app.log 21原理21 将错误流复刻为输出流实现正常日志、报错日志合并保存。屏蔽所有输出sh task.sh /dev/null 21/dev/null 为 Linux 黑洞用于丢弃无用日志节省磁盘空间。四、核心避坑要点仅用 无法捕获程序报错是新手部署项目排查故障的主要误区常驻服务、定时任务必须用 追加符号避免清空历史日志。同时区分重定向是命令与文件传数据管道是命令与命令传数据。五、总结重定向的核心价值是标准化日志收集、实现脚本自动化是 Linux 运维、Docker 部署、Shell 脚本开发的底层核心熟练掌握可解决绝大多数服务器日志管理、任务自动化需求。