输入重定向
- 当有些时候如果让用户手动输入数据将会相当麻烦,此时可以使用输入重定向操作符’<’ 来重定向输入源
- 输入重定向是指把命令或者可执行程序的标准输入 重定向到指定的文件
- 输入可以不来自键盘,而是来自指定的文件
- 输入重定向主要用于改变一个命令的输入源
输出重定向
- 使用输出重定向操作符’>’ 改变数据输出的目标,一般是另存到一个文件中供以后分析
- 输出重定向能把一个命令的输出 重定向到文件里,而不是显示在屏幕上
- 注意:如果> 后面指定的文件已存在,则该文件的原内容会被覆盖
输出重定向追加
- 为避免输出重定向中的指定文件被重写,shell提供了输出重定向的追加手段
- 如果要将一条命令的输出结果追加到指定文件的后面,可使用追加重定向操作符’>>’
- 格式:命令 >> 文件名
双重输出重定向
-
将正确的输出结果与错误的输出结果一次性单独输送到不同的地方
格式:命令 2> error.txt > results.txt
-
不管是正确的输出还是错误的输出,都要输送到指定的同一文件,则可使用&>或者&>>
格式:命令 &>> 文件名称
文件描述符
名称 | 代码 | 操作符 |
---|---|---|
标准输入 | 0 | <、<< |
标准输出 | 1 | 1>、1>>、>、>> |
标准错误输出 | 2 | 2>、2>> |
管道
- 将一个程序或命令的输出作为另一个程序或命令的输入 ,有两种方式
- 一种是通过一个暂存文件将两个命令或程序结合在一起
- 另一种为管道操作(|)
- 管道(|)可以把一系列命令连接起来
tee命令
- tee命令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件
- 语法格式:tee [-ai] [文件]
- -a 内容追加到给定的文件而非覆盖
- -i 忽略中断信号
- 例如:ifconfig | tee ipconf.txt