重定向管道

重定向管道

1. 标准输出、错误

  • 0 标准输入 /dev/stdin
  • 1 标准输出 /dev/stdout
  • 2 标准错误 /dev/stderr

2. 重定向

重定向:将默认的标准输入、输出、错误设备改变到新的目标

2.1 重定向覆盖 >

> 将默认的标准输入、输出、错误设备改变到新的目标,如果原目标存在,此操作将覆盖原目标

  • 1> 或 > 标准输出重定向
  • >| 强制覆盖
  • 2> 标准错误重定向
  • &> 、 2>&1、1>&2 标准输出和错误重定向到一起

set -C 禁止覆盖原文件
set +C 允许覆盖原文件

2.2 重定向追加 >>

>> 将默认的标准输入、输出、错误设备改到新的目标,此操作不会覆盖原目标,只会追加在原目标之后

  • >> 将标准输出追加至
  • 2>> 将标准错误追加至
  • &>> 将标准输出、错误追加到一起

2.3 多行重定向

  • 使用 “<<终止词” 命令从键盘直到终止词位置之前的所有文本都发送作为标准输入,有时被称为就地文本(here documents)
  • 其中终止词可以是任何一个或多个符号,比如:!,@,$,EOF(End Of File),magedu等,其中EOF 比较常用
[root@centos8 data]# cat <<EOF
> AFAS
> dafas
> ga
> EOF
AFAS
dafas
ga

2.4 转换或删除 tr

tr 此命令可以将选中的字符进行转换或删除

  • -c 取字符集的补集
  • -d 删除所有属于第一字符集的字符
  • -s 去重
[root@centos8 data]# cat f1.txt
aaaabaaacdagafadsg
[root@centos8 data]# tr -dc 'bcgf' <  f1.txt
bcgfg
[root@centos8 data]# cat f1.txt
aaaabaaacdagafadsg
[root@centos8 data]# tr -s 'a' <  f1.txt
abacdagafadsg

3.管道 |

管道 “|(管道符)” 连接多个命名,将前一个命令的输出作为下一个命令的输入,所有命令会在当前shell进程的子shell进程中执行

[root@centos8 data]# echo "bbaacc" | tr -d 'aa'
bbcc

3.1 tee命令

tee命令可以重定向到多个目标

[root@centos8 data]# cat <<EOF| tee f1.txt 
> hello
> EOF
hello
[root@centos8 data]# cat f1.txt
hello
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值