管道是一个用于连接程序间输入输出的缓冲区
Linux上的程序在运行时默认打开了3个文件, 通过“文件描述符”来编号:
0号文件 - 标准输入(默认为当前终端)
1号文件 - 标准输出(默认为当前终端)
2号文件 - 标准错误(默认为当前终端)
可通过lsof -p 进程号来查看打开的文件, lsof 命令常用于查找进程打开了哪些文件以及与打开文件相关联的内容
图1,执行命令yes | cat > /dev/null &,执行yes命令,并将产生的结果丢掉;图2,yes命令相关的进程,发现1号文件(输出文件);图3 cat命令相关进程,发现0号文件(输入文件)