数据流重定向就是将某个命令执行后应该要出现在屏幕上的数据传输到其他的地方。
涉及三类:
1、标准输入(stdin):代码为0,使用<或者<<;
2、标准输出(stdout):代码为1,使用>(表示覆盖输出)或者>>(表示累加输出);
3、标准错误输出(stderr):代码为0,使用2>或者2>> 。
范例:
find /home -name 文件名 //在屏幕上显示查找当前用户/home路径下该文件;
find /home -name 文件名 > list_right(存储正确的输出信息的文件) 2> list_error(存储错误输出的信息的文件) //stdout和stderr分别存储到不同文件;
find /home -name 文件名 2> /dev/null(垃圾桶黑洞设备与特殊写法) //stdout显示在屏幕上,stderr结果丢弃;
//将查询结果全部写入名为list的文件中
find /home -name 文件名 > list 2>&1,
或 find /home -name 文件名 &> list 。
//利用cat命令创建一个文件
cat > catfile
输入数据(按下ctrl+d来结束输入)
在执行一次cat catfile显示catfile文件内容。
cat > catfile < 文件名 //将该文件中的写到新建文件catfile中
可以实现利用已有的文件建立新文件(类似cp的功能),或者可以用来替代键盘的输入。
cat > catfile << "eof"
输入数据,当输入关键字"eof"时,本次输入结束。