管道与重定向

August 27, 2021

shell中的管道

1
man fork | grep child
  1. shell先创建子进程A
  2. A进程创建管道
  3. A进程 fork个子进程B
  4. B进程把标准输入STDIN 重定向到管道的读端,也就是子进程负责接收管道中的数据,一般就是 | 后面的那个命令
  5. A进程把标准输出STDOUT重定向到管道的写端, 负责往管道里写数据,一般就是|前面的那个命令

管道的创建及重定向都是由shell 来搞定,通过execute来执行命令,两个命令进程就是shell fork后的父子进程 ,共享管道.

image-20210827180138770

shell中的重定向

1
ls ./ > files.txt

image-20210827180808079