出自Linux Wiki
提示:此文已超过 7 年(2705 天)未更新,如发现内容过时或有误,欢迎改进:)
使用Bash可以方便的用实现输出输入的重定向,本文讨论重定向的一些细节和技巧。本文介绍部分是对Bash Quick Reference相关内容的翻译。
基础知识
文件描述符(File Descriptor),是进程对其所打开文件的索引,形式上是个非负整数。类 Unix 系统中,常用的特殊文件描述符如下:
文件描述符
名称
常用缩写
默认值
0
标准输入
stdin
键盘
1
标准输出
stdout
屏幕
2
标准错误输出
stderr
屏幕
我们在简单地用时,相当于使用0< 或1>(下面会详细介绍)。
管道 (“|”, pipe line),把上一个命令的 stdout 接到下一个命令的 stdin;
tee 命令的作用是在不影响原本 I/O 的情况下,将 stdout 复制一份到档案去;
简单重定向
cmd > file
把cmd命令的输出重定向到文件file中。如果file已经存在,则清空原有文件,使用bash的noclobber选项可以防止覆盖原有文件。
cmd >> file
把cmd命令的输出重定向到文件file中,如果file已经存在,则把信息加在原有文件后面。
cmd < file
使cmd命令从file