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

41次阅读

共计 907 个字符,预计需要花费 3 分钟才能阅读完成。

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…

正文完
 0