首页 > 代码库 > [Shell]Shell基本功能:输入输出重定向

[Shell]Shell基本功能:输入输出重定向

/*-----------------------------------------------------------------------------------------------

  @黑眼诗人 <www.chenwei.ws>

-----------------------------------------------------------------------------------------------*/

输入输出重定向的作用:

  输出重定向就是把命令的执行结果保存到文件,便于查看。

  输入重定向就是把原先由键盘的输入改为由文件输入。

 

先了解一下标准输入输出:

[  设备  ][  设备文件名  ][ 文件描述符 ][  类型  ]

  键盘      /dev/stdin         0     标准输入

  显示器     /dev/stdout     1     标准输出

  显示器     /dev/stderr    2     标准错误输出

 

几个概念(> 表示覆盖,>>表示追加

[ 正确输出重定向 ]

  命令 > 文件    # 以覆盖的方式,将命令的正确输出,输出到文件或设备中

  命令 >> 文件    # 以追加的方式,将命令的正确输出,输出到文件或设备中

 

[ 错误输出重定向 ]

  错误命令 2> 文件  # 以覆盖方式,将命令的错误输出,输出到指定文件或设备中

  错误命令 2>> 文件  # 以追加的方式,将命令的错误输出,输出到指定文件或设备中

  

  

  (注意:要保存错误信息,必须在单大于号或双大于号前加 2 ,中间无空格)

 

[ 正确输出和错误输出同时保存]

  1. 命令 > 文件 2>&1  #以覆盖方式,将正确和错误输出都保存到同一文件中

  2. 命令 >> 文件 2>&1  #以追加的方式,将正确和错误输出都保存到同一文件中

  3. 命令 &> 文件     #等同于第一条(&作用等同于2>&1)

  4. 命令 &>> 文件     #等同于第二条

  5. 命令 >> 文件A 2>> 文件B   #把正确的输出追加到文件A,把错误的输出追加到文件2中(定时备份的时候很有用)

 

ls &> /dev/null    #将执行结果保存到/dev/null(不存在的设备,即将无意义的结果清除)

 

输入重定向:

[ wc用于统计键盘输入 ]

wc [-c] 文件名  #统计字节数

wc [-w] 文件名  #统计单词数

wc [-l] 文件名   #统计行数

(输入wc后,输入的其它字符将被统计,ctrl+d结束)

(4行,7个单词,40个字符)

 

[ 用wc统计文件:单小于号 ]

---------------------------------------------------------------------------------------------