命令行成为 Linux 生态系统的重要组成部分有很多原因。
1. Unix 刚开发的时候,还没有 GUI
虽然 Linux 不是 Unix,因为它没有来自系统的代码,但它的行为是基于它的,包括它对命令行的使用。当 Unix 在 60 年代末和 70 年代初在贝尔实验室开发时,还没有图形用户界面之类的东西。
大多数人在网络穿孔卡片 punch cards 上提交他们的程序,而幸运的少数人能够使用终端与系统交互,例如 Unix 的创造者:Dennis Ritchie 和 Ken Thompson。
这些终端要么是电传打字机,要么是视频终端,它们只是一个屏幕和一个键盘。这两种类型的终端都只支持文本,不支持图形。
命令行界面对于这种类型的终端来说是很自然的。文本终端的使用也是 Unix 开发人员更喜欢短命令名的一个主要原因,因为它们打字速度更快。
2.编程工具使用命令行
程序员一直是 Linux 最坚定的拥护者,因为它有很多工具可供他们完成工作:解释器、编译器和调试器。所有这些工具都在命令行上运行。
虽然您可以从图形 IDE 调用所有这些,但它只是某处命令行的前端。
3.命令行速度快
许多 Linux 用户喜欢声称 Linux 命令行比使用 GUI 更快。命令行程序比图形程序启动得更快,因为开销更少。
这就是当 Linux 首次在 PC 上首次亮相时,发行版默认使用控制台环境的原因之一。那个时代功能较弱的 PC 通常很难运行 X,至少在桌面系统配备的少量 RAM 的情况下。
您可以看到,在 90 年代初一台具有 4MB 内存的 i386 PC 在加载一个简单的 X 窗口管理器时有多么困难,而当时这样的内存是很不错了。
4. 命令行无处不在,包括服务器
命令行在 Linux 系统上幸存下来的一个重要原因是它几乎可以在任何地方工作。如果 X 不支持你的显卡,这个问题在早期的 Linux 系统上也很常见,你会发现自己被控制台抛弃了。这意味着您可以在需要时回退到命令行。
出于这个原因,仅使用命令行界面安装 Linux 服务器是很流行的。这允许更有效地使用服务器。毕竟,如果没有人会看到它,就不需要 GUI。
许多管理员更喜欢通过 SSH 远程登录来管理他们的服务器。这种较低的开销允许 Linux 服务器比 Windows 服务器更有效地运行。
5. 命令行程序可以编写脚本
与图形程序相比,命令行程序的一大优势是程序员可以自动化它们。
如果您使用文件管理器等图形程序,您经常会遇到重命名文件等重复操作。如果您有很多文件,使用 GUI 文件管理器可能会变得乏味。shell 允许您使用通配符来生成文件列表。
如果您想将所有文本文件复制到一个目录,您可以使用这一行:
[linuxmi@localhost ~]$ cp *.txt linuxmi.com
您还可以将脚本语言用于更复杂的任务。多年来,首选的脚本语言是 shell。shell 的优点是您可以在脚本的命令行中使用熟悉的程序。
虽然 Perl 和 Python 等脚本语言使用库,但如果库不存在,也可以使用标准 Linux 程序。
现在你知道为什么 Linux 如此多地使用命令行了
如果您对命令行对 Linux 的重要性感到困惑,那么您现在知道它对于服务器和开发等许多技术用途的重要性。它甚至让计算机为您工作,而不是相反。
如果您刚刚开始使用 Linux 命令行并感到迷茫,请继续阅读以获取有关使用 shell 充分利用 Linux 系统的更多提示。