linux管道简单理解

什么是管道,怎么理解呢

管道(Pipeline),其实简单理解来看,管道的作用是在命令和命令之间,传递数据。比如说一个命令的结果,作为另一个命令的输入。命令其实就是进程。更准确地说,管道在进程间传递数据.
linux里的管道将一个进程的输出流定向输入到另一个进程,像管道一样,把两个进程连接起来,如果一个进程输出了信息,那么另一个进程就能获取到输出的信息.
我们知道,在linux中,系统把所有的元素都抽象为文件,其中也包括socket,那么管道其实也分为匿名管道和命名管道.

  1. 匿名管道,这种管道在文件系统中,只是作为一个节点,它是没有路径的.
  2. 命名管道,这种管道就是实际存在的文件,有路径.
    那么用一个简单的命令来分析,其实是很好明白的.
ps -ef |grep nginx

ps(processor snapshot)命令将进程快照出来,输出到grep(global regular expression pattern),通过grep查询出nginx进程.

当然我们也可以在在管道传输的过程中,将输出记录(中间结果)保存下来,如下

find ./ -i "*.*" |tee text | grep "something"

上面说的用 | 代表匿名管道,命名管道创建如下

mkfifo pipe1

输入内容

echo "hahah" > pipe1

你可能感兴趣的:(linux,linux,nginx,运维)