find -iname "*" | xargs grep network_error 2>/dev/null命令中2>/dev/null的含义

来源:互联网 发布:gps端口检测工具下载 编辑:程序博客网 时间:2024/06/01 11:59

2>/dev/null 意思是如果你的命令出错,错误报告直接删除,不会显示出来


[test @test test]# ls -al > list.txt  
将显示的结果输出到 list.txt 档案中,若该档案以存在则予以取代! 
[test @test test]# ls -al >> list.txt  
将显示的结果累加到 list.txt 档案中,该档案为累加的,旧数据保留! 
[test @test test]# ls -al 1> list.txt 2> list.err  
将显示的数据,正确的输出到 list.txt 错误的数据输出到 list.err 
[test @test test]# ls -al 1> list.txt 2>&1  
将显示的数据,不论正确或错误均输出到 list.txt 当中! 
[test @test test]# ls -al 1> list.txt 2> /dev/null 
将显示的数据,正确的输出到 list.txt 错误的数据则予以丢弃! 
注意!错误与正确档案输出到同一个档案中,则必须以上面的方法来写! 
不能写成其它格式!
这个观念相当的重要,尤其是在 /etc/crontab 当中执行的时候,如果我们已经知道错误的讯息为何,又不想要让错误的讯息一直填满 root 的信箱,

就必须以 2> 搭配 /dev/null 这个垃圾桶黑洞装置,来将数据丢弃!这个相当的重要!


这里我们来说明一下命令重导向里面几个常用的符号与装置:
<  :由 < 的右边读入参数档案;
>  :将原本由屏幕输出的正确数据输出到 > 右边的 file ( 文件名称 ) 或 device ( 装置,如 printer )去;
>> :将原本由屏幕输出的正确数据输出到 >> 右边,与 > 不同的是,该档案将不会被覆盖,而新的数据将以『增加的方式』增加到该档案的最后面;
2> :将原本应该由屏幕输出的错误数据输出到 2> 的右边去。
/dev/null :可以说成是黑洞装置!


参考:

http://zhidao.baidu.com/link?url=ZGSaKd2zs0G9U7tZJvNGfWGTlnGr-oOTn7BV-uE6vLFU_w1R6P1QD0N4Fsn9iz-62O6Q9MucydM6sCQrjWPvCK


举个例子

执行命令

find -iname "*" | xargs grep layout_container_main

会有很多错误结果见图片


执行命令

 find -iname "*" | xargs grep layout_container_main 2>/dev/null

错误的结果消失,见图片


0 0
原创粉丝点击