命令行与文件系统入门指南
1. 命令行界面基础
命令行界面(CLI)在更广泛的意义上也被称为 REPL,即读取(Read)、评估(Evaluate)、打印(Print)、循环(Loop)。其工作流程如下:
1. 读取用户输入的命令。
2. 评估该命令。
3. 打印命令执行结果。
4. 回到第一步,继续循环。
REPL 的概念应用广泛,例如 1998 年美国国家航空航天局(NASA)的深空 1 号任务航天器上的飞行控制计算机就有一个可从地球控制的 REPL,这使得科学家能够实时解决故障,避免任务失败。
与操作系统交互的 CLI 被称为 shell。随着发展,shell 从最初一次只能执行一个命令,发展到可以按顺序执行多个命令、多次重复命令、重新调用过去的命令等。大部分的发展发生在 UNIX 系统中,UNIX 的 CLI 至今仍是事实上的标准。
UNIX 系统中有许多不同的 CLI,类似于一种语言的不同方言,即它们解释用户命令的方式有所不同。这些 CLI 被称为 shell,因为它们在操作系统内部和用户之间形成了一层外壳。常见的 shell 有 Bourne shell、Korn shell 和 C shell 等。其他操作系统也有相应的 shell,如 Windows 的 PowerShell 和 DOS。其中,Bash(Bourne Again Shell)是 Bourne shell 的现代版本,应用最为广泛,也被认为是最标准的 shell。Bash 是自由软件基金会(Free Software Foundation)由理查德·斯托曼(Richard Stallman)发起的 GNU 项目的一部分,该项目提供免费和开源