二.走进shell
1.进入命令行
在图形化桌面出现之前,和 Unix 系统交互的唯一方式就是通过 shell 提供的文本命令行界面(command line interface,CLI)。CLI 只允许输入文本,而且只能显示文本和基本图形输出。由于此限制,输出设备也用不着多高级,只需要一个简单的哑终端就能和 Unix 系统交互了。哑终端(dumb terminal) 是由通信电缆(通常是多线束串行电缆,也叫带状电缆)连接到 Unix 系统的显示器和键盘。
(1)控制台终端
进入 CLI 的一种途径是访问 Linux 系统的文本模式。该模式只在显示器上提供一个简单的shell CLI,就跟图形化桌面出现之前那样。这称作 Linux 控制台,因为它模拟的是早期的硬接线控制台终端(hard-wired console terminal),而且是跟 Linux 系统交互的直接接口。
Linux 系统启动时,会自动创建多个虚拟控制台。虚拟控制台是运行在 Linux 系统内存中的终端会话,通过单个计算机键盘和显示器就可以访问这些虚拟控制台。
比如我的CentOS Stream9,按ctrl+alt+F6就可以进入控制台,再按ctrl+alt+F2就可以返回图形界面
(2)图形化终端
虚拟控制台终端的另一种替代方案是使用 Linux 图形化桌面环境中的终端仿真软件包。终端仿真软件包会在桌面图形化窗口中模拟控制台终端。
图形化终端仿真只负责 Linux 图形化体验的一部分。完整的体验需要借助包括图形化终端仿真软件(称为客户端)在内的多个组件来实现。
要想在桌面中使用命令行,关键在于图形化终端仿真器,可以将图形化终端仿真器看作图形化用户界面中(in the GUI)的 CLI 终端,将虚拟控制台终端看作图形化用户界面之外(outsidethe GUI)的 CLI 终端。
2.通过 Linux 控制台终端访问 CLI
在大多数 Linux 发行版中,可以使用简单的按键组合来访问某个 Linux 虚拟控制台。通常必须按下 Ctrl+Alt 组合键,然后再按一个功能键(F1~F7)来进入你要使用的虚拟控制台。功能键F2 键会生成虚拟控制台 2,F3 键会生成虚拟控制台 3,F4 键会生成虚拟控制台 4。
tty3,其中的3表明这是虚拟控制台3,可以通过按下 Ctrl+Alt+F3 组合键进入。tty 代表电传打字机(teletypewriter)。在 login:提示符后输入你的用户 ID,然后在 Password:提示符后输入密码就可以登入控制台终端了,注意在输入密码时它什么都不会显示。你可以在不中断当前活动会话的情况下切换到另一个虚拟控制台,在所有的虚拟控制台之间任意切换,同时拥有多个活动会话。
尽管虚拟控制台只是一个文本模式的控制台终端,但你也可以修改文字和背景色。
方法一:
setterm --inversescreen on #背景色设置成白色,将文本设置成黑色
方法二:
setterm --background white
setterm --foreground black
似乎只生效了一行。
3.通过图形化终端仿真器访问 CLI
图形化桌面环境提供了多种方式来访问 CLI。在图形化环境下,有大量可用的终端仿真器。每个软件包都有各自独特的特性以及选项。
- Alacritty
- cool-retro-term
- GNOME Terminal
- Guake
- Konsole
- kitty
- rxvt-unicode
- Sakura
- st
- Terminator
- Terminology
- Termite
- Tilda
- xterm
- Xfce4-terminal
- Yakuake
4.使用 GNOME Terminal 终端仿真器
GNOME Terminal是 GNOME Shell桌面环境的默认终端仿真器。包括 Red Hat Enterprise Linux(RHEL)、CentOS 和 Ubuntu 在内的很多发行版默认采用 GNOME Shell 桌面环境。
(1)访问 GNOME Terminal
我的CentOSStream9使用的KDE Plasma桌面环境,在搜索栏输入 terminal。
不同系统的 GNOME Terminal 的外观可能不一样,这通常是由于应用程序的默认配置以及 Linux 发行版的 GUI 窗口的不同特性造成的。系统也有可能已经设置好了打开该terminal的快捷键,有一种是Ctrl+Alt+T。
要想创建快捷键,需要访问 Keyboard Settings 中的 Keyboard Shortcuts 窗口,在搜索栏输入 Keyboard Shortcuts。
点击添加应用程序,将终端加入,配置新的快捷键
(2)菜单栏
菜单栏包含配置选项和定制选项,你可以通过这些选项打造符合自己使用习惯的 GNOME Terminal。
如果窗口没有显示菜单栏,右键再点击 显示菜单栏。
每个标签会话均被视为独立的 CLI 会话,直接右键也可以新建会话。
Eidt 菜单中包含用于处理标签内文本内容的菜单项。你可以在会话窗口中的任意位置复制和粘贴文本。
View 菜单中包含用于控制 CLI 会话窗口外观的菜单项。
Serach 菜单中的菜单项用于在终端会话中进行简单的搜索。
Terminal 菜单中包含用于控制终端仿真会话特性的菜单项。
有时候可能意外地导致终端会话显示了一堆杂乱无章的字符和符号。这时候根本分辨不出文本信息。这通常是由于在屏幕上显示了非文本文件。可以通过选择Reset 或 Reset and Clear 让终端会话恢复正常。在调整终端窗口尺寸时(比如使用 Terminal 菜单中的 80 列宽×24 行高设置),实际的窗口大小受制于所用的字体。最好的办法是尝试不同的设置,从中找出适合的尺寸。
Tabs 菜单包含用于控制标签位置以及活动标签选择的菜单项。这个菜单只有当你打开了多个标签会话时才会出现。
目录 提供了完整的 GNOME Terminal 手册,可以从中研究 GNOME Terminal 的各个
菜单项和特性。关于 显示了当前正在运行的 GNOME Terminal 的版本。
5.使用 Konsole 终端仿真器
(1)访问 Konsole 终端仿真器
Konsole 是 KDE 桌面环境 Plasma 默认的终端仿真器,可以轻松地通过 KDE 环境的菜单系统访问。在其他桌面环境中,通常要利用搜索功能访问 Konsole。
如果没有下载Konsole,可以使用dnf之类的包管理器来下载
启动 Konsole 终端仿真器要用到的命令是 konsole。如果已经安装过 Konsole,则可以在其他的终端仿真器中输入konsole,然后按 Enter 键来启动它。
(2)菜单栏
如果没有看到 Konsole 菜单栏,可以按 Ctrl+Shift+M 组合键将其显示出来。
Konsole 提供了两个方便的菜单项来保存 shell 会话信息:Save Output As 和 Print Screen。Print Screen 允许使用系统打印机来打印当前标签的显示内容或将其保存为 PDF 文件。
Edit 菜单包含用于处理会话文本内容的菜单项。除此之外,还可以管理标签名称。
Konsole 维护着每个标签的历史记录(以前称为回滚缓冲区)。历史记录包含了终端查看区域的输出文本。在默认情况下,保留回滚缓冲区中的最后 1000 行。只需使用查看区域中的滚动条即可在回滚缓冲区中回滚。还可以按 Shift+向上箭头键逐行向后滚动或按Shift+PageUp 键一次向后滚动一页(24 行)。
View 菜单包含用于控制 Konsole 窗口中单个会话视图的菜单项。除此之外还可以监视终端会话活动。
菜单项 Monitor for Silence 用于指明无活动标签。如果在当前标签会话内超过 7 秒没有出现新内容,则该标签即为无活动标签。这允许你在等待应用程序输出的时候切换到另一个标签。
Bookmarks 菜单中的菜单项可用于管理 Konsole 窗口的书签。书签能够保存活动会话的目录位置,随后可以在相同会话或新的会话中返回到这些位置。
Settings 菜单包含可用于定制和管理配置文件的菜单项。配置文件允许用户自动运行命令、设置会话外观、配置回滚缓冲区等。你还可以通过 Setting 菜单为 shell 会话多添加一点儿功能。
Configure Notifications 允许将会话中发生的特定事件与不同的行为关联起来,比如播放声音。当出现某个事件时,就会触发指定的行为(或一系列行为)。
Help 菜单提供了完整的 Konsole 手册以及标准的 About Konsole 对话框。
xterm 是 Linux 中第一个可用的终端仿真器,感兴趣可以自行尝试。