#显示当前目录文件
test.sh test1.sh test1.sh实际不存在[chengmo@centos5
shell]$ ls test.sh
test1.shls:
test1.sh: 没有这个文件和目录test.sh#正确输出与错误输出都显示在屏幕了,现在需要把正确输出写入suc.txt#
1>可以省略,不写,默认所至标准输出[chengmo@centos5
shell]$ ls test.sh
test1.sh 1>suc.txtls:
test1.sh: 没有这个文件和目录[chengmo@centos5
shell]$ cat suc.txt
test.sh#把错误输出,不输出到屏幕,输出到err.txt[chengmo@centos5
shell]$ ls test.sh
test1.sh 1>suc.txt 2>err.txt[chengmo@centos5
shell]$ cat suc.txt
err.txt test.shls:
test1.sh: 没有这个文件和目录#继续追加把输出写入suc.txt
err.txt “>>”追加操作符[chengmo@centos5
shell]$ ls test.sh
test1.sh 1>>suc.txt 2>>err.txt #将错误输出信息关闭掉[chengmo@centos5
shell]$ ls test.sh
test1.sh 2>&-test.sh[chengmo@centos5
shell]$ ls test.sh
test1.sh 2>/dev/nulltest.sh#&[n]
代表是已经存在的文件描述符,&1 代表输出 &2代表错误输出 &-代表关闭与它绑定的描述符#/dev/null
这个设备,是linux 中黑洞设备,什么信息只要输出给这个设备,都会给吃掉 #关闭所有输出[chengmo@centos5
shell]$ ls test.sh
test1.sh 1>&- 2>&- #关闭
1 ,2 文件描述符[chengmo@centos5
shell]$ ls test.sh
test1.sh 2>/dev/null 1>/dev/null#将1,2
输出转发给/dev/null设备 [chengmo@centos5
shell]$ ls test.sh
test1.sh >/dev/null 2>&1#将错误输出2
绑定给 正确输出 1,然后将 正确输出 发送给 /dev/null设备 这种常用<p>[chengmo@centos5
shell]$ ls test.sh
test1.sh &>/dev/null#&
代表标准输出 ,错误输出 将所有标准输出与错误输出 输入到/dev/null文件</p>
本文详细解析了Linux环境下使用ls命令时的输出重定向与错误输出重定向功能,包括如何将正确输出写入指定文件,如何将错误输出忽略或重定向至特定文件,以及如何进行错误输出与正确输出的合并重定向。
848

被折叠的 条评论
为什么被折叠?



