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基本功能:输入输出重定向的主要内容,如果未能解决你的问题,请参考以下文章