灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:1824回复:0

十句话教你学会Linux数据流重定向

楼主#
更多 发布于:2013-09-03 10:53
十句话教你学会Linux数据流重定向
 
 
 
1、看到重定向一下子就想起了web里面的redirect,没错,但是Linux数据流重定向的作用不是跳到另一个网页,而是用来存储重要的屏幕信息、将不必要的屏幕信息输出到文件里或者“黑洞”里、将错误信息和正确信息分开存储,或者只显示正确信息等等~
 
 
 
2、数据流重定向分为标准输入(代码为0,使用<或<<)、标准输出(代码为1,使用>或>>)、标准错误(代码为2,使用2>或2>>)输出这三种。
 
 
 
3、标准输入 > 例子:ls -l / >dir.txt
 
表示将根目录下的所有显示信息输出到文件dir.txt里面
 
 
 
4、如果希望继续在dir.txt里面输出东西,但不覆盖之前的信息,使用>>,比如ls /home >>dir.txt再看看dir.txt里面,就会发现末尾多了ls /home的结果。如果使用>的话,就会覆盖前面的内容哦!>输出是不能累加的!
 
 
 
5、如果想用另一个文件中的内容输入到dir.txt,可以这样 cat > dir.txt <report/build.xml (不保留文件里原有的内容)或者cat >> dir.txt <report/build.xml  (保留文件里原有的内容)
 
 
 
6、运行shell后,如果想将屏幕信息中正确的和错误的信息分别存于两个文件。比如,系统中并没有qwert这个文件,但是有dir.txt这个文件,find dir.txt qwert >right_lisit 2>wrong_list 一定要使用2> 输出错误信息
 
 
 
7、有些错误事先已经知道了,而且无关紧要,没有必要在屏幕上显示,也没有必要存到文件里,可以这样find dir.txt qwert 2>/dev/null
 
这样就可以将错误信息扔进“黑洞”了~,如果你有兴趣可以去/dev/null,看一下~
 
里面什么都没有的。。。
 
 
 
8、如果想将正确信息和错误信息都纪录下来,find dir.txt qwert >list.txt 2>&1
 
 
 
9、通过> 也可以建立文件哦~   cat > newfile
 
 
 
10、还有一个<<没有介绍,这个和他的“另一半”>>可不一样,并不表示累加,而表示输入的结束。比如:cat > newfile <<"over"
 
然后你就可以输入文件的内容啦
 
12345
 
上山打老虎
 
over
 
执行cat newfile命令,可以看到,文件里面没有over字样哦~,over只是我们自己定义的一个作为输入结束的标示符而已~

喜欢0 评分0
游客

返回顶部