第 3 章. Unix 工具哲学

工具是一个简单的程序,通常为特定目的而设计,在本文件中有时(至少在本文档中)被称为命令。

“Unix 工具哲学” 在 UNIX 操作系统创建期间,在管道 ‘|’ 的突破性发明之后出现(有关使用管道的信息,请参阅第 6 章)。

管道允许一个程序的输出发送到另一个程序的输入。工具哲学的理念是使用小型程序来完成特定任务,而不是尝试开发大型单体程序来完成大量任务。为了完成更复杂的任务,工具只需使用管道连接在一起。

所有核心 UNIX 系统工具的设计都使其能够协同工作。最初的基于文本的编辑器(甚至 TeX 和 LaTeX)使用 ASCII(美国文本编码标准;一个开放标准),您可以结合这些编辑器使用诸如 sedawkvigrepcatmoretr 和各种其他基于文本的工具。

使用这种哲学,程序员避免编写(在其更大的程序中)其他人已经编写过的程序(这可以被认为是一种代码重用形式)。例如,命令行拼写检查器被许多不同的应用程序使用,而不是让每个应用程序创建自己的拼写检查器。

这种哲学在今天的 GNU/Linux 和各种其他基于 UNIX 系统的操作系统(FreeBSD、NetBSD、OpenBSD 等)中仍然存在。

有关 UNIX 工具哲学的更多信息(文章),请参阅延伸阅读部分,此处:A.2.2.1 节