linux入门之I/O重定向

我们知道,执行一个shell命令行时通常会执行一个shell命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),通常对应终端的键盘;标准输出文件(stdout)和标准错误输出文件(stderr),这两个文件都对应终端的屏幕。进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件。那么若想将信息的输出方式进行转换则可以进行输入输出重定向。

1、输入重定向
     cat > test.txt
     进行键盘输入
     结束ctrl+d

[root@mmmm ~]# cat >test.txt
hhhddddkkkkvvveeeeekkkksss
[root
@mmmm ~]# cat test.txt hhhddddkkkkvvveeeeekkkksss

 

重定向到多个目标(tee)

命令1 | tee[-a ] 文件名| 命令2
把命令1的STDOUT保存在文件中,做为命令2的输入
-a 追加

使用:

保存不同阶段的输出

复杂管道的故障排除

同时查看和记录输出

[root@localhost ~]# echo 1.5+3 |tee ha.txt |bc
4.5
[root@localhost ~]# echo 1.5+3 |tee ha.txt

 

2、输出重定向

> 或 1> 表示正确输出重定向
     > 若文件不存在,则创建,若文件已存在,则覆盖

    >> 若文件不存在,则创建,若文件已存在,则追加

[root@localhost ~]# echo 1.5+3 |tee ha.txt
1.5+3
[root@localhost ~]# echo 'hello' >wsy.txt
[root@localhost ~]# echo 'hello' >ha.txt
[root@localhost ~]# cat wsy.txt
hello
[root@localhost ~]# cat wsy.txt
hello
[root@localhost ~]# echo 'i am fine' >>ha.txt
[root@localhost ~]# cat ha.txt
hello
i am fine

 


2> 表示错误输出重定向
    2> 若文件不存在,则创建,若文件已存在,则覆盖
    2>> 若文件不存在,则创建,若文件已存在,则追加

 

&> 表示全部输出重定向(正确错误都定向)
    &> 若文件不存在,则创建,若文件已存在,则覆盖
    &>> 若文件不存在,则创建,若文件已存在,则追加

    1>&2  表示将正确结果转换为错误结果
    2>&1  表示将错误结果转换为正确结果

 

 


转载于:https://www.cnblogs.com/w-s-y/p/9338374.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值