分类: LINUX
2008-11-05 21:47:37
“>”重定向覆盖原来的文件;“>>”追加到文件的末尾。
1、重定向标准输出,可以使用“>”符号,举例:
dir my_dir > filelisting.txt
将把 dir 命令的标准屏幕输出重定向到文本文件 filelisting.txt 文件里
2、重定向标准错误,可以使用结构“2>”,举例:
dir my_dir 2> errorlisting.txt
以上命令将送标准输出到屏幕上,如果没有错误信息,将没有任何信息写到 errorlisting.txt 文件里。如果出错,则没有什么东西输出到屏幕,而文件 errorlisting.txt 将包含错误信息。
3、dir my_dir > file_and_error_listing.txt 2>&1以上命令先重定向标准输出到文本文件里,然后再重定向标准错误到和标准输出同样的位置。
4、还可以使用符号“|”(管道命令)把一个命令的标准输出送到另外一个命令的标准输入。下面例子里,dir 命令的标准输出通过管道输入到命令 more 里(输出满屏的时候自动暂停): dir | more
5、使用“tee”命令把标准输出同时写到文件和屏幕:dir | tee filelisting.txt
6、Linux下还有一个特殊的文件/dev/null,所有重定向到它的信息都会消失得无影无踪。当我们不需要回显程序的所有信息时,就可以将输出重定向到/dev/null。
7、以下命令是把标准输出和错误都定向到文件
#ls /dev &>filename |
"&"在这里代表标准输出和标准错误,这里无论是正常输出还是错误信息都写到filename中了
8、重新定义文件标识符可以用i>&j命令,表示把文件标识符i重新定向到j,你可以把"&"理解为"取地址"
请看以下例子
#exec 5>&1 |
表示把文件标识符5定向到标准输出,这个命令通常用来临时保存标准输入。