04.IO 重定向和管道
IO 重定向和管道
- IO 重定向和管道
- 1. I/O重定向 redirect
- 1.1 标准输出和错误重新定向
- 2. 标准输入重定向
- 3. 标准输入多行重定向
- 4. 管道
IO 重定向和管道
- 标准输入设备(stdin):对应终端键盘
- 标准输出设备(stdout):对应终端的显示器
- 标准错误输出设备(stderr):对应终端的显示器
1. I/O重定向 redirect
I/O重定向:将默认的输入,输出或错误对应的设备改变,指向新的目标。
1.1 标准输出和错误重新定向
STDOUT和STDERR默认是使用当前终端,但也可以重定向到指定终端或指定文件
# 覆盖操作符,如果文件存在,会被覆盖
> # 把STDOUT重定向到文件
1> # 同上
2> # 把STDERR重定向到文件
&> # 把标准输出和错误都重定向 覆盖重定向
>& # 和上面功能一样,建议使用上面方式
&>> # 追加重定向 # 追加操作符,在原有文件的基础上追加内容
>> # 追加标准输出重定向至文件
1>> # 同上
2>> # 追加标准错误重定向至文
2. 标准输入重定向
标准输入重定向是使用文件来代替键盘的输入,从文件中读取数据,代替当前终端的输入设备输入的数据,此处要严格区分命令是否支持标准输入,标准输入和参数是两个概念;
不跟任何选项参数,直接回车,看是否等待标准输入,如果是,则该命令可以使用标准输入重定向。
COMMAND < FILE
3. 标准输入多行重定向
使用 “<<终止词” 命令从键盘把多行重导向给STDIN,直到终止词位置之前的所有文本都发送给STDIN, 有时被称为就地文本(here documents),其中终止词可以是任何一个或多个符号,其中EOF比较常用
4. 管道
使用管道,要求前一个命令必须支持标准输出,后一个命令必须支持标准输入;