UNIX 文件系统与操作详解
1. 管道(Pipes)
管道是 UNIX 系统中一项重要的特性。最初,Thompson 决定实现管道概念,Ken 连夜工作将其实现。当时很多工具不支持标准输入,需要对这些工具进行重新编写。从第三版 UNIX 开始,管道特性彻底改变了 UNIX 系统,并且被广泛接受。
1.1 匿名管道
在 UNIX 命令行中,匿名管道使用 | (竖线)符号,它只存在于相互通信的进程之间,当管道两端都关闭时,它会从系统中消失。例如:
$ ls -l | tr '[a-z]' '[A-Z]'
这个命令将 ls -l 的输出通过管道传递给 tr 命令,将小写字母转换为大写字母。
1.2 命名管道(FIFOs)
命名管道存在于文件系统中,遵循先进先出(FIFO)原则。以下是一个简单的示例:
$ mkfifo myFIFO
$ ls -l
total 0
prwxr-xr-x 1 myid mygrp 0 Apr 15 16:55 myFIFO
$ ls -l >myFIFO &
$ tr '[a-z]' '[A-Z]' <myFIFO
TOTAL 0
PRWXR-XR-X 1 MYID MYGRP 0 APR 15 16:55 MYFIFO
[1] 77637 Exit 0 ls -l &g
UNIX文件系统与操作全面解析
超级会员免费看
订阅专栏 解锁全文
3672

被折叠的 条评论
为什么被折叠?



