< filename 重定向输入
> filename 重定向输出
>> filename 重定向输出(附加模式)
2> filename 重定向错误 (2和>不能有空格)
&> filename 重定向输出和错误
>& filename 重定向输出和错误 (preferred way)
2>&1 重定向错误到输出
1>&2 重定向输出到错误
例子:
$ (find / -name core -print > /dev/tty) &> errors
$ (find / -name core -print > /dev/tty) 2> errors
$ (find / -name core -print > /dev/tty) >& errors
$ find / -name core -print >&1 2>error
$ find / -name core -print > /dev/stdout 2>error
$ find / -name core -print 2>error
这都是把匹配的文件输出到屏幕 , 错误输出到文件 errors
$ (find / -name core -print > /dev/stdout) >& errors
$ (find / -name core -print >&1) >& errors
$ find / -name core -print >& errors
这三个都是把所有的输出到文件。
/dev/tty 直接对应于屏幕,而 /dev/stdout 或者 file descritor 1 是标准输出,还可以重定向,所以有上面两组命令的不同。
$ find / -name core -print > content 2>&1
$ find / -name core -print >& content
$ find / -name core -print &> content
这是把所有内容都保存到文件 content