linux 串口 重定向io,Linux上的IO重定向及管道的使用

IO重定向:

输出重定向:>

特性:覆盖输出

输出重定向:>>

特性:追加输出

# set -C

禁止覆盖输出重定向至已存在的文件;

此时可使用强制覆盖输出:>|

# set +C

关闭上述特性

错误输出流重定向:2>, 2>>  只会将错误的信息输出到指定的地方

合并正常输出流和错误输出流:

(1) &>, &>>

(2) COMMAND > /path/to/somefile 2>&1

COMMAND >> /path/to/somefile 2>&1[root@app1 tmp]# ech "next" > a.txt

-bash: ech: command not found

[root@app1 tmp]# ech "next" > a.txt 2>&1

[root@app1 tmp]# ech "next" &> a.txt

[root@app1 tmp]# ech "next" 2> a.txt

特殊设备:/dev/null,代表空

COMMAND > /dev/null:代表所有的输出信息都不会显示,直接到/dev/null里面去

使用演示:[root@app1 tmp]# echo "hello" > a.txt

[root@app1 tmp]# cat a.txt

hello

[root@app1 tmp]# echo "next" >> a.txt

[root@app1 tmp]# cat a.txt

hello

next

[root@app1 tmp]# ech "next" > a.txt

-bash: ech: command not found

[root@app1 tmp]# cat a.txt

[root@app1 tmp]# ech "next" 2> a.txt

[root@app1 tmp]# cat a.txt

-bash: ech: command not found

[root@app1 tmp]# ech "next" &>> a.txt

[root@app1 tmp]# cat a.txt

-bash: ech: command not found

-bash: ech: command not found

[root@app1 tmp]# ech "next" > /dev/null

-bash: ech: command not found

[root@app1 tmp]# ech "next" &> /dev/null

输入重定向:

输入重定向:<

特性:覆盖输入

输入重定向:<<

特性:追加输入

使用演示:1、

[root@app1 tmp]# cat <a.txt

> I

> wish

> nothing

> but

> the

> best

> for

> you

> !

> EOF

[root@app1 tmp]# cat a.txt

I

wish

nothing

but

the

best

for

you

!

2、

[root@app1 tmp]# cat > a.txt <

> l

> o

> v

> e

> EOF

[root@app1 tmp]# cat a.txt

l

o

v

e

tr命令:

tr [OPTION]... SET1 [SET2]

把输入的数据当中的字符,凡是在SET1定义范围内出现的,通通对位转换为SET2出现的字符

用法1:

tr SET1 SET2 < /PATH/FROM/SOMEFILE

用法2:

tr -d SET1 < /PATH/FROM/SOMEFILE

注意:不修改原文件,只显示出来[root@app1 tmp]# tr -d o 

l

v

e

[root@app1 tmp]# cat a.txt

l

o

v

e

[root@app1 tmp]# tr "a-z" "A-Z" 

L

O

V

E

管道:连接程序,实现将前一个命令的输出直接定向后一个程序当作输入数据流

COMMAND1 | COMMAND2 | COMMAND3 | ...把/etc/passwd文件的前6行的信息转换为大写字符后输出;

[root@app1 tmp]# head -n 6 /etc/passwd | tr 'a-z' 'A-Z'

ROOT:X:0:0:ROOT:/ROOT:/BIN/BASH

BIN:X:1:1:BIN:/BIN:/SBIN/NOLOGIN

DAEMON:X:2:2:DAEMON:/SBIN:/SBIN/NOLOGIN

ADM:X:3:4:ADM:/VAR/ADM:/SBIN/NOLOGIN

LP:X:4:7:LP:/VAR/SPOOL/LPD:/SBIN/NOLOGIN

SYNC:X:5:0:SYNC:/SBIN:/BIN/SYNC

tee命令:将前一个命令的执行结果通过管道覆盖到一个文件中[root@app1 tmp]# cat a.txt | tee b.txt

l

o

v

e

[root@app1 tmp]# cat b.txt

l

o

v

e

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值