1、重定向的命令:
command >file 将输出重定向到file
command <file 将输入重定向到file
command >>file 将输出以追加的方式重定向到file
n >file 将文件描述符为n的文件重定向到file
n >>file 将文件描述符为n的文件以追加的方式重定向到file
n>&m 将输出文件m和n合并
n<&m 将输入文件m和n合并
<<tag 将开始标记tag和结束标记tag之间的内容作为输入
2、输出重定向
command >file1,这个命令执行后将输出的内容存入file1,是直接覆盖掉file1里的内容,如果想要追加的话使用>>操作符
3、输入重定向
需要从键盘获取输入的命令会转移到文件读取命令
例如:$ wc -1 user 结果为:2 user
$ wc -1 >user 结果为:2
同时替换输入输出:command < infile >outfile 从文件读取输入的内容,然后将输出写入到欧outfile中
4、重定向深入讲解:
一般情况下,每个Unix/Linux命令运行的时候都会打开三个文件
标准输入文件:stdin的文件描述符为0,Unix程序默认从stdin读取数据
标准输出文件:stdout的文件描述符为1,Unix程序默认向stdout输出数据
标准错误文件:stderr的文件描述符为2,Unix程序会向stderr流中写入错误信息
5、Here Document
是shell中的一种特殊的重定向方式,用来将输入重定向到一个交互式Shell脚本或程序
command << delimiter
document
delimiter
她的作用是将两个delimiter之间的内容document作为输入传递给command;开始的delimiter前后的空格会被忽略掉,结尾的delimiter前后千万不能有空格