在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 < &- #关闭标准输入