Linux管道符

管道符

把一个命令生成数据直接传给后边的命令。
经常把一个命令无法处理完的命令使用管道符进行多次处理。

有些命令有标准输出,有些没有

  • 管道符前面必须有标准输出
  • 管道符后面必须有标准输入

CMD1 | CMD2 | ... 将CMD1的标准输出作为CMD2的标准输入

管道符只能传递标准输出,错误、提示是不能传递的。

利用管道命令发邮件

[root@C8-1 ~]# echo "FBI Warning" | mail -s hellow 410109170@qq.com

利用管道把字反过来写

[root@C8-1 ~]# echo "FBI Warning" | rev
gninraW IBF

利用管道把空格换行写

[root@C8-1 ~]# echo "FBI Warning" | tr ' ' '
'
FBI
Warning

将系统环境变量目录显示在单独一行

[root@C8-1 ~]# echo $PATH | tr ':' '
'
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/root/bin

把对的变成错的,将标准输出变成标准错误 |&

CentOS6以后才支持 |&的写法,等同于2>1&

[16:32:36 root@C8[ ~]#ls /data /err
ls: cannot access '/err': No such file or directory
/data:
log1..5.text
[16:33:35 root@C8[ ~]#ls /data /err |& tr 'a-z'
tr: missing operand after ‘a-z’
Two strings must be given when translating.
Try 'tr --help' for more information.
* * * 胖并快乐着的死肥宅 * * *
原文地址:https://www.cnblogs.com/bpzblog/p/13172662.html