第一章 重定向的本质:文件描述符与 I/O 模型
1.1 操作系统的 “文件视角”
在 Linux 中,一切皆文件,包括:
- 物理文件(如
/etc/hosts) - 设备文件(如硬盘
/dev/sda) - 虚拟文件(如内存信息
/proc/meminfo) - 标准 I/O 流:每个进程默认打开的 3 个特殊文件,通过 “文件描述符”(File Descriptor, FD)标识:
0:标准输入(stdin,对应键盘或其他输入源)1:标准输出(stdout,对应屏幕或其他输出目标)2:标准错误(stderr,对应屏幕或其他错误输出目标)
1.2 进程的 I/O 上下文
当用户在终端启动一个进程(如 ls),Shell 会自动为其创建这 3 个文件描述符,形成默认的 I/O 通道:
进程 → stdin(FD=0)← 键盘输入
进程 → stdout(FD=1)→ 屏幕显示
进程 → stderr(FD=2)→ 屏幕显示
重定向的本质,就是修改进程的文件描述符指向的文件,从而改变数据的输入输出路径。

订阅专栏 解锁全文
1639

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



