shell输出重定向操做

在linux shell执行命令时,每一个进程都和三个打开的文件相联系,并使用文件描述符来引用这些文件。因为文件描述符不容易记忆,shell同时也给出了相应的文件名。linux

  标准输入:0(缺省是键盘,为0时是文件或者其余命令的输出)shell

  标准输出:1(缺省是屏幕,为1时是文件)进程

  标准出错:2(缺省是屏幕,为2时是文件)it

系统中实际上有12个文件描述符,能够任意使用文件描述符3到9.file

 

文件重定向:改变程序运行的输入来源和输出地点引用

  Command > filename           #把标准输出重定向到一个新文件中程序

  Command >> filename         #把标准输出重定向到一个文件中(追加)im

  Command > filename 2>&1         #把标准输出和错误一块儿重定向到一个文件中重定向

  Command >> filename 2>&1       #把标准输出和错误一块儿重定向到一个文件(追加)di

  Command  2>filename                #把标准错误重定向到一个文件中

  Command  2>>filename      #把标准输出重定向到一个文件中(追加)

  Command < filename                 #Command命令以filename文件做为标准输入

  Command << delimiter     #从标准输入中读入,知道遇到delimiter分界符

     Command >&m                         #把标准输出重定向到文件描述符m中

     Command < &-           #关闭标准输入

 

n<&- 表示将 n 号输入关闭
<&- 表示关闭标准输入(键盘)
n>&- 表示将 n 号输出关闭
>&- 表示将标准输出关闭
相关文章
相关标签/搜索