同标准I/O一样,Shell对于每一个进程预先定义3个文件描述字(0、1、2)。分别对应于:
0 (STDIN)标准输入
1 (STDOUT) 标准输出
2 (STDERR) 标准错误输出
>或>> 输出重定向 (>以替换的方式输出, >> 以插入的方式输出)
范例:
ls -l /tmp 0> /tmp.msg (0可以省略)
如果不执行重定向,标准输出就是从界面输出,如下:
执行重定向后,输出到指定文件:
Date 0>> /tmp.msg (0可以省略)
1< 输入重定向 (1可以省略)
范例: wall < /etc/motd (把/etc/motd以广播的方式输出)
2> 错误输出重定向 (2不可以省略)
范例: cp -R /usr /backup/usr.bak 2> /bak.error (如果执行过程中有错误,不从命令窗口显示,而是把错误信息输出到指定文件)