CC00038.LinuxShell——|Linux&Shell$Bash功能.V04|——|输入输出重定向|

一、输入输出重定向:Bash 的标准输入输出
设备文件名文件描述符类型
键盘/dev/stdin0标准输入
显示器/dev/stdout1标准输出
显示器/dev/stderr2标准错误输出
二、输出重定向
符号作用
标准输出重定向命令>文件以覆盖的方式,把命令的正确输出输出到指定的文件或设备当中。
命令>>文件以追加的方式,把命令的正确输出输出到指定的文件或设备当中
标准错误输出重定向错误命令2>文件以覆盖的方式,把命令的错误输出输出到指定的文件或设备当中。
错误命令2>>文件以追加的方式,把命令的错误输出输出到指定的文件或设备当中
正确输出和错误输出同时保存命令>文件2>&1以覆盖的方式,把正确输出和错误输出都保存到同一个文件当中
命令>>文件2>&1以追加的方式,把正确输出和错误输出都保存到统一个文件当中
命令&>文件以覆盖的方式,把正确输出和错误输出都保存到同一个文件当中
命令&>>文件以追加的方式,把正确输出和错误输出都保存到同一个文件当中
命令>>文件12>>文件2把正确的输出追加到文件1中,把错误的输出追加到文件2中

三、输入输出实验

### --- 覆盖输出
~~~     重定向:是指把它的输出方式不再输出到显示器上,而是输出到文件当中;输出重定向
~~~     单大于号是覆盖:

[root@localhost ~]# pwd > abc
[root@localhost ~]# cat abc 
/root
### --- 追加内容
~~~     输出重定向可以用来保存系统日志

[root@localhost ~]# pwd >> abc 
[root@localhost ~]# cat abc 
/root
/root
### --- 把报错信息写入到配置文件中
### --- 文件中也没有保存
~~~     注:报错信息直接输出到屏幕上,命令未找到

[root@localhost ~]# lskblkg >> bac
-bash: lskblkg: command not found   
[root@localhost ~]# cat abc
### --- 记录报错信息
~~~     注:错误信息保存在了配置输出文件中,但是错误输出格式不合理

[root@localhost ~]# lskblkg 2>> abc
[root@localhost ~]# cat abc 
/root
/root
-bash: lskblkg: command not found
### --- 错误输出与正确输出
~~~     # 错误输出:
~~~     把命令的正确输出写入到文件中,再把命令的错误输出保存在正确输出中
~~~     命令>文件2>&1
~~~     命令&>>文件

[root@localhost ~]# ls >> abc>&1
[root@localhost ~]# cat abc 
abc
bac
hello.sh
### --- 假设把命令写错了,把错误输出保存在正确输出中
~~~     注:错误输出追加到配置文件中

[root@localhost ~]# lskgjd >> abc 2>&1
[root@localhost ~]# cat abc 
abc
bac
hello.sh
-bash: lskgjd: command not found
### --- 正确输出

[root@localhost ~]# pwd &>>abc
[root@localhost ~]# cat abc 
/root
### --- 错误输出
~~~     注意:在写正确输出的时候需要加入空格,
~~~     错误输出不需要空格,若是错误加入空格,会报错

[root@localhost ~]# pwdadfdf &>>abc
[root@localhost ~]# cat abc 
/root
-bash: pwdadfdf: command not found
lskgjd >> abc                                       # 正确输出段   2>&1    # 错误段
### --- 把正确输出和错误输出写入到不同的文件中
~~~     可以用来分别保存正确日志和错误日志

[root@localhost ~]# ls >> ok 2>>err
[root@localhost ~]# cat ok 
ok
[root@localhost ~]# lslll >> ok 2>>err
[root@localhost ~]# cat err 
-bash: lslll: command not found

四、输入输出重定向实验

### --- 输入重定向
~~~     # 选项:
~~~     -c   统计字节数
~~~     -w   统计单词数
~~~     -l   统计行数

[root@localhost ~]# wc [选项] [文件名]
### --- 输出重定向实验
### --- wc统计abc文件

[root@localhost ~]# wc abc 
 2  6 41 abc
### --- 也可以使用<来统计
 
[root@localhost ~]# wc -l abc
2 abc
[root@localhost ~]# wc < abc
 2  6 41
### --- 统计数量
 
[root@localhost ~]# wc << EOF
> 1111111
> 2222222
> 3333333
> 4444444
> EOF
 4  4 32
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yanqi_vip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值