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

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

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

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.

相关文章:

  • 2022-12-23
  • 2021-06-02
  • 2022-01-03
  • 2022-12-23
  • 2021-05-25
  • 2021-08-06
  • 2021-10-01
  • 2021-08-23
猜你喜欢
  • 2021-10-05
  • 2021-09-06
  • 2021-10-05
  • 2022-01-24
  • 2022-01-01
  • 2022-12-23
  • 2021-09-10
相关资源
相似解决方案