入门第 9 / 12 节25 分钟 · 实操
IO 重定向与管道
Bash 课程的一部分
你在 Bash 里运行的每一条命令, 底层都接着三条各自独立的通道, 不管你有没有察觉到。可以想象一台信件分拣机: 信从一个投口进去, 分拣成功的信从一个出口出来, 破损或者无法投递的信被推到另一个单独的托盘里, 免得混进好信里面。Bash 给每条命令的都是这样一套三通道结构, 而一旦学会改接这些通道, 你就能把命令的输出指向文件而不是屏幕, 让它从文件而不是键盘读取输入, 或者把好几条命令串起来, 让前一条的输出成为后一条的输入。终端外壳之所以强大, 大半就来自这种改接。
这三条通道各有名字。标准输入, 也就是 stdin, 是命令读取输入的地方, 默认是你的键盘。标准输出, 也就是 stdout, 是正常输出去的地方, 默认是你的屏幕。标准错误, 也就是 stderr, 是专门给错误信息用的另一条通道, 默认同样显示在屏幕上, 所以在你开始重定向之前, 这两者看上去根本分不出来。Bash 内部用编号来称呼它们: 标准输入是文件描述符 0, 标准输出是 1, 标准错误是 2。把这三个数字记住, 下面的语法里到处都是它们。 ...
想在真实环境里学习 Bash IO 重定向与管道 吗?
点击下方,立即获得一台预装 Bash 的 Linux 主机,跟懂你代码的 AI 导师一起完成 IO 重定向与管道 的实操练习。
开始这节课IO 重定向与管道你将学到什么
- >
- >>
- <
- 2>
- 2>&1
- &>
- Tee
- Here-doc <<EOF
- Process substitution <(cmd)
用你的语言阅读本课
本课程的所有课时
12 节探索其他课程
Python
19 节 · 9.3小时
Go
20 节 · 12.3小时
React
17 节 · 10.2小时
Linux
17 节 · 8.5小时
Docker
13 节 · 6.6小时
Git
13 节 · 5.9小时
Kubernetes
14 节 · 8小时
Ansible
12 节 · 6.1小时
Helm
10 节 · 5.4小时
GitLab CI
11 节 · 5.8小时
Jenkins
11 节 · 5.3小时
PostgreSQL
14 节 · 7.6小时
MySQL
13 节 · 6.8小时
Web
14 节 · 5.9小时
TypeScript
18 节 · 7.7小时
Vibe Coding
12 节 · 5.8小时
Prompt Engineering
11 节 · 6.2小时
Vibe 编程:基础
12 节 · 4.5小时
Vibe 编程:从原型到生产
12 节 · 5.5小时
Vibe 编程:多智能体工程
12 节 · 5.3小时
Vibe 编程:高级工程
12 节 · 7.3小时
