红联Linux门户
Linux帮助

Linux中输入输出和重定向问题

发布时间:2016-09-29 10:09:37来源:linux网站作者:wxfistudy
输入输出解释  
当我们执行shell的时候,每个进程都和三个打开的文件有关系,并使用文件描述符来引用这些文件。但这些文件不容易记忆,所以shell给了相应的文件名:
0:输入文件-标准输入(它的命令是输入,缺省是键盘,也可以是文件或者其他命令的输出)
1:输出文件-标准输出(它的命令是输出,缺省是屏幕,也可以是文件)
2:错误输出文件-标准输出(它的命令是错误的输出,缺省是屏幕,也可以是文件)(或许会有疑问,为什么会定义错误输出,因为很多人喜欢把错误单独输出,或者在处理大数据文件时,可能产生很多的错误,所以定义了此命令)
 
文件重定向
在执行命令的时候,可以指定命令的输入,输出和错误,要实现这个, 就必须使用文件重定向。
在对标准错误进行重定向时,必须使用文件描述符,但是对于标准输入和输出来说,则不是必须的。
下面是几种写法的案列:
command > filename                  把把标准输出重定向到一个新文件中
command >> filename                   把标准输出重定向到一个文件中(追加)
command 1 > fielname                  把标准输出重定向到一个文件中
command > filename 2>&1            把标准输出和标准错误一起重定向到一个文件中
command 2 > filename                  把标准错误重定向到一个文件中
command 2 >> filename               把标准输出重定向到一个文件中(追加)
command >> filename 2>&1         把标准输出和标准错误一起重定向到一个文件中(追加)
command < filename >filename2   把command命令以filename文件作为标准输入,以filename 2文件作为标准输出
command < filename                   把command命令以filename文件作为标准输入
command << delimiter                把从标准输入中读入,直至遇到delimiter分界符
command <&m                          把文件描述符m作为标准输入
command >&m                          把标准输出重定向到文件描述符m中
command <&-                           把关闭标准输入
 
本文永久更新地址:http://www.linuxdiyf.com/linux/24579.html