Bash基本功能:输入输出重定向

Posted 王默

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Bash基本功能:输入输出重定向相关的知识,希望对你有一定的参考价值。

输入输出重定向的作用:

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

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

案例1:把ls显示的结果输入到 date文件里面;包括ls的正确和错误信息;下面2个命令等价

daokr@DK:~$ ls myfile olddir >> date 2>&1

  daokr@DK:~$ ls myfile olddir &>>date

 案例2:复制文件功能 把date文件内容复制出来到新的文件date2中

cat <date >date2

 

案例3:新建文件功能;新建date3文件;并且写入字符串;

daokr@DK:~$ cat >date3 <<FF
> wangli
> linff
> nihao
> FF

 

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

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

  键盘      /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统计文件:单小于号 ]

以上是关于Bash基本功能:输入输出重定向的主要内容,如果未能解决你的问题,请参考以下文章

Shell编程Shell中Bash基本功能

Linux shell Bash的基本功能2 输入输出与重定向

Linux Bash-重定向

数据流重定向和管道命令(bash学习02)

3输入输出重定向bash算术正则表达式 学习笔记

SHELL脚本