Linux系统bash的I/O重定向及管道

程序:指令+数据

每个程序都有读入数据和输出数据的需求;

每一个打开的文件都有一个fd:file descriptor(文件描述符)

标准输入:keyborad,0(文件描述符)

标准输出:monitor,1

标准错误输出:monitor,2

-----------------------------------------------------------------------------------------------------------------------------

I/O重定向:改变标准位置;

输出重定向:命令 > 目标文件, 命令 >> 目标文件

>:覆盖重定向,目标文件中的原有内容会被清除;

>>:追加重定向,新内容会被追加至目标文件尾部;

# set -C:禁止将内容覆盖输出至已有文件中;

强制覆盖:>|

#set +C:允许将内容覆盖输出至已有文件中;

2>:覆盖重定向错误输出数据流;

2>>:追加重定向错误输出数据流;

标准输出和错误输出各自定向至不同位置:

命令 > /path/to/file.out 2> /path/to/error.out

合并标注输出和错误输出为同一个数据流进行重定向:

&> :覆盖重定向

&>>追加重定向

命令 > /path/to/file.out 2> &1

命令 >> /path/to/file.out 2>> &1

输入重定向:<

tr命令:转换或删除字符

tr [OPTION]... SET1[SET2]

例:tr 'abc' 'ABC'      将输入的所有a,b,c分别对应转换为A,B,C;

tr 'a-z' 'A-Z'     将输入的所有小写字母转换为大写字母;

<<

例:

# cat << EOF

# cat > /path/to/somefile <<EOF

-------------------------------------------------------------------------------------------------------------------------------

管道:前一个命令的输出作为后面命令的输入

命令1 | 命令2 | 命令3 | ...

最后一个命令会在当前shell进程的子shell进程中执行;

tee命令: 从标准输入设备输入,同时输出到标准输出设备和指定的文件;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

lssyg2011

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

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

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

打赏作者

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

抵扣说明:

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

余额充值