[Linux] 数据流重定向

Linux命令执行过程的数据传输情况如下所示:


1)标准输入(stdin):代码为0,使用<或<<;

2)标准输出(stdout):代码为1,使用>或>>;

3)标准错误输出(stderr):代码为2,使用2>或2>>;

其中>表示以覆盖的方式将数据写入文件或设备,>>表示以累加的方式将数据写入文件或设备。

其中<表示将原本需要由键盘输入的数据改由文件内容来替代,而<<表示结束输入的意思。举例来说,我要用cat直接将输入的信息输出到catfile,且当由键盘输入eof时结束,那么:

# cat > catfile <<EOF
> This is a test
> ok 
> EOF


tee - 双向重定向

从上面我们可以知道数据流要么输出到文件或设备,要么输出到屏幕(即标准输出),而tee命令可以达到同时输出的目的:

tee可以让标准输出转存一份到文件,其用法如下:
tee [-a] file
-a:以累加方式
ls -l /home | tee homefile | more

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值