当前位置:   article > 正文

Linux 命令之管道命令_linux中管道和命令排列的区别

linux中管道和命令排列的区别

Linux 命令之管道命令 |

Persus & Xie

学习管道之前我们先了解一下Linux的命令执行顺序

命令执行顺序控制

通常情况下,我们在终端中只能执行一条命令,然后按下回车执行,那么如何执行多条命令的?

  • 顺序执行多条命令:command1;command2;command3;

    简单的顺序指令可以通过 ; 来实现

  • 有条件的执行多条命令: command1 && command2 || command3

    && :如果前一条命令执行成功则执行下一条命令,如果command1执行成功则执行第二条命令

    || :与&&相反,是前一条命令执行不成功时执行后边的命令

  • $? :储存上一条命令的返回结果

实例1.1 ,在目录下有三个文件001.txt,002.txt,003.txt

la && ls
ls && la
ls || la
la || ls
  • 1
  • 2
  • 3
  • 4

运行结果

>>> command not found: la
>>> 001.txt 002.txt 003.txt
    command not found: la
>>> 001.txt 002.txt 003.txt
>>> command not found: la
    001.txt 002.txt 003.txt
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

管道命令

管道命令是一种通信机制,通常用于进程间的通讯(也可以通过socket进行通信),它表现出来的形式是将前面每一个进程的输出(stdout)直接作为下一个进程的输入(stdin)。

管道命令 | 作为界定符号,管道命令与上面说的连续执行命令不一样。

  • 管道命令仅能处理standard output, 对于stand error output会予以忽略。

    less,more,head,tail...都可以接受standard input命令,所以他们是管道命令

ls,cp,mv并不会接受standard input的命令,所以他们就不是管道命令了

  • 管道命令必须要能够接受来自前一个命令的数据称为standard input继续处理才行

第一个管道命令

ls -al /etc | less
  • 1

通过管道将ls -al的输出作为下一命令less的输入 ,方便浏览:

管道命令的处理图

  管道命令的处理图

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/213102
推荐阅读
相关标签
  

闽ICP备14008679号