为什么命令行在 Linux 生态系统中如此重要

系统 Linux
如果您对命令行对 Linux 的重要性感到困惑,那么您现在知道它对于服务器和开发等许多技术用途的重要性。它甚至让计算机为您工作,而不是相反。

当您开始使用 Linux 时,您会发现尽管存在众多桌面环境,但该系统比其他操作系统更依赖命令行。为什么是这样?

命令行成为 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 系统的更多提示。

责任编辑:武晓燕 来源: Linux迷
相关推荐

2022-01-26 08:00:00

区块链以太坊生态系统

2011-12-09 11:02:52

NoSQL

2022-02-25 11:09:16

区块链技术生态系统

2018-12-17 09:42:44

2011-05-19 15:15:39

Oracle生态系统

2011-04-26 10:08:47

Linux存储生态环境

2020-12-20 17:34:50

Linux命令行终端

2016-02-29 10:41:08

IBMPower

2010-05-12 11:16:00

SAP

2013-11-04 16:57:21

Hadoop大数据Hadoop生态系统

2022-05-27 11:46:35

网络安全智能生态系统

2023-10-11 15:11:08

智能建筑人工智能

2017-08-02 13:08:30

物联网生态系统边缘计算

2019-01-13 15:00:52

区块链生态系统

2009-12-25 14:49:55

2021-11-23 20:54:34

AI 生态系统

2024-01-15 00:07:08

JS生态系统

2021-07-08 08:56:30

Linux命令删除用户

2013-08-05 11:31:16

Linux

2014-12-07 15:46:20

云计算虚拟化
点赞
收藏

51CTO技术栈公众号