关于linux:Linux-的数据流重定向

Linux 的规范输入输出

  1. 规范输出  (stdin) :代码为 0 ,应用 < 或 << ;
  2. 规范输入  (stdout):代码为 1 ,应用 > 或 >> ;
  3. 规范谬误输入(stderr):代码为 2 ,应用 2> 或 2>> ;

规范输入的应用

  • 1> :以笼罩的办法将『正确的数据』输入到指定的文件或安装上;
  • 1>>:以累加的办法将『正确的数据』输入到指定的文件或安装上;
  • 2> :以笼罩的办法将『谬误的数据』输入到指定的文件或安装上;
  • 2>>:以累加的办法将『谬误的数据』输入到指定的文件或安装上;

应用范例

范例一:将命令(ll /)的规范输入保留到文件中
[root@www ~]# ll / > ~/rootfile <==屏幕并无任何信息
[root@www ~]# ll ~/rootfile <==有个新档被创立了!
-rw-r--r-- 1 root root 1089 Feb  6 17:00 /root/rootfile
范例:将规范输入与谬误输入分存到不同的文件中
[dmtsai@www ~]$ find /home -name .bashrc > list_right 2> list_error
范例三:将谬误输入抛弃,屏幕上显示正确的输入
[dmtsai@www ~]$ find /home -name .bashrc 2> /dev/null
/home/dmtsai/.bashrc  <==只有 stdout 会显示到屏幕上, stderr 被抛弃了
范例四:将命令的所有输入全副保留到名为 list 的文件中
[dmtsai@www ~]$ find /home -name .bashrc > list 2> list  <==谬误
[dmtsai@www ~]$ find /home -name .bashrc > list 2>&1     <==正确
[dmtsai@www ~]$ find /home -name .bashrc &> list         <==正确
范例五:将命令的所有输入全副抛弃
[dmtsai@www ~]$ find /home -name .bashrc >> /dev/null 2>&1
范例六:联合打算工作应用,将所有输入抛弃
* * * * * cd /var/www/project && command >> /dev/null 2>&1

参考:http://cn.linux.vbird.org/lin…

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理