Linux Shell

为什么要使用 Shell 会话?

简单的家庭桌面 Linux 爱好者很少需要使用 shell 会话,因为现代 Linux 提供了强大的 GUI 控制面板。

几乎所有正常的桌面级调整都可以在 GUI 内完成。

然而,由于 Linux 支持许多不同的发行版和十多种不同的桌面环境,即使是关于如何在 Linux 中执行任务的基本建议也会很快变得混乱。
除非说明专注于桌面环境,否则分步过程会有所不同——通常会有很大不同。
出于这个原因,Linux 的许多操作方法或者故障排除建议都强调 shell 命令。

例如,要查看当前在 Linux 计算机上运行的程序,GUI 中的过程因发行版而异。
在 Ubuntu 20.04 上,我们将打开启动器并选择系统监视器,而在 openSuse Tumbleweed 上,我们将从 K 菜单的系统文件夹中启动 KSysGuard。
对于每个 GUI 工具,外观和功能都不同,需要不同的分步说明,并在必要时提供屏幕截图。
但是,对于任一发行版,只需从 shell 会话中运行 ps -ax 即可以相同的方式提供相同的输出。

什么是shell ?

shell 是一种与计算机操作系统交互的基于文本的方法——一种称为命令解释器的函数。
Shell 使用自己的语法和逻辑;它们充当登录用户和计算机内核之间的中介,执行其他程序,如系统实用程序或者用户安装的应用程序。

Linux 支持多种不同的 shell:

  • Bash :Bash 是大多数现代 Linux 发行版上的默认 shell。

它针对通过命令历史、命令行编辑、命令别名和基本作业控制进行交互使用进行了优化。

  • Fish :旨在让用户更容易访问,Fish 强调命令完成、用户脚本和高级终端功能。它针对交互式使用进行了优化。
  • Ksh :Korn shell 本身就是一种高级编程语言,尽管它的交互支持非常好。
  • Zsh:非常适合高级用户,Zsh 提供高级脚本功能和大量可定制性。它也支持各种索引。

没有什么可以阻止我们安装任意数量的不同 shell。
尽管只有一个将用作默认值,但我们可以在一个 shell 中的一个 shell 中自由调用一个 shell。
要查看已为发行版安装了哪些 shell,请运行 cat /etc/shells 。

shell与终端不同。
终端是 shell 会话其中运行的图形程序。

通常,我们需要一个终端来运行 shell 会话,但 shell 会话和终端没有链接。
也就是说,同一个终端程序运行任何shell,任何shell 运行在任何终端程序中。

Microsoft Windows 和 Apple macOS 也包含 shell。
在 Windows 中,shell 称为命令提示符,尽管新版本的 Windows 支持 PowerShell。
在 macOS 中,终端程序会打开一个 shell 会话。
在 Linux 中,尽管一些草率的作者将 shell 会话称为“命令提示符”,但命令提示符是 Microsoft 特有的。

如何使用 Linux Shell

在纯文本世界中蓬勃发展并不太难。
事实上,许多铁杆 Linux 粉丝几乎都生活在 shell 中。
首先,运行发行版的终端程序或者等效程序。
当窗口打开时,我们将进入一个新的 shell 会话。

每个 shell 都提供不同的功能,尽管常见的 Linux 实用程序(如用于更改目录的 cd 命令或者用于显示文件的 cat 命令)在所有 shell 中的工作方式都相同。
研究 shell 的独特语法以发挥其强大功能。

日期:2020-07-15 11:16:46 来源:oir作者:oir