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 ' ' '\n'
FBI
Warning

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

[root@C8-1 ~]# echo $PATH | tr ':' '\n'
/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.


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM