I/O重定向及管道命令
我们知道当我们用键盘敲字并在屏幕上面显示过来,主要是通过I/O设备来交互完成的。那么什么是I/O设备呢?
系统默认的将键盘当做标准输入设备,将显示器当做标准输出设备和标准错误输出设备
标准输入:也可以叫STDIN,用0来标识
标准输出:也可以叫STDOUT,用1来标识
标准错误输出:STDERR,用2来标识
那么什么是I/O重定向呢?
I/O重定向就是改变数据的输入来源和数据的输出位置
I/O重定向包括:
标准输入重定向,用<表示,默认标准输入的内容来至键盘,当然标准输入也可以来至文件。
标准输出重定向,用>表示,默认标准输出的内容会显示到屏幕,也可以重定向到文件中。
标准错误输出重定向,用2>,默认标准错误输出的内容会显示到屏幕,也可以重定向到文件中。
注意:当使用标准输出和标准错误输出重定向文件时,会覆盖原来文件的内容。
<<:表示生产文档的意思
例如:cat << eof > word.txt
意思是将键盘输入的数据生产文档然后重定向到word.txt文件中
>>:以追加的方式来进行输出重定向(在原有的文件后面追加)
2>>:以追加的方式来进行输出错误重定向(在原有的文件后面追加)
那如何将标准输出和标准错误输出重定向到一个文件去了?
使用&>:将标准输出和标准错误输出重定向到一个文件
&>>:以追加的方式将标准输出和标准错误输出重定向到一个文件
例如:
set -C :禁止对已经存在的文件使用重定向覆盖功能
>|:可以强制覆盖输出
set +C:关闭上述功能,即可以使用重定向功能了
示例如下
管道命令
所谓管道就是将前一个命令的标准输出当做后一个命令的标准输入
用|表示管道命令
语法格式 命令1 | 命令2 | 命令3...
tee:就是从标准输入读取数据源,然后将数据源标准输出到指定文件并在屏幕上打印
俗称一个输入两个输出
示例如下:
转载于:https://blog.51cto.com/xslwahaha/1424257