Linux 命令行与 shell 脚本编程大全 (3rd ed)(11):走进 shell 2.2

阅读数:14 2019 年 11 月 17 日 14:46

Linux命令行与shell脚本编程大全(3rd ed)(11):走进shell 2.2

内容简介
这是一本关于 Linux 命令行与 shell 脚本编程的全方位教程,主要包括四大部分:Linux 命令行,shell 脚本编程基础,高级 shell 脚本编程,如何创建实用的 shell 脚本。本书针对 Linux 系统的新特性进行了全面更新,不仅涵盖了详尽的动手教程和现实世界中的实用信息,还提供了与所学内容相关的参考信息和背景资料。通过本书的学习,你将轻松写出自己的 shell 脚本。

(通过 Linux 控制台终端访问 CLI)

在 Linux 的早期,在启动系统时你只会在显示器上看到一个登录提示符,除此之外就没别的了。之前说过,这就是 Linux 控制台。它是唯一可以为系统输入命令的地方。

尽管在启动时会创建多个虚拟控制台,但很多 Linux 发行版在完成启动过程之后会切换到图形化环境。这为用户提供了图形化登录以及桌面体验。这样一来,就只能通过手动方式来访问虚拟控制台了。

在大多数 Linux 发行版中,你可以使用简单的按键组合来访问某个 Linux 虚拟控制台。通常必须按下 Ctrl+Alt 组合键,然后按功能键(F1~F7)进入要使用的虚拟控制台。功能键 F1 生成虚拟控制台 1,F2 键生成虚拟控制台 2,F3 键生成虚拟控制台 3,F4 键生成虚拟控制台 4,依次类推。

说明 Linux 发行版通常使用 Ctrl+Alt 组合键配合 F1 或 F7 来进入图形界面。Ubuntu 使用 F7,而 RHEL 则使用 F1。最好还是测试一下自己所使用的发行版是如何进入图形界面的。

文本模式的虚拟控制台采用全屏的方式显示文本登录界面。图 2-2 展示了一个虚拟控制台的文本登录界面。

Linux命令行与shell脚本编程大全(3rd ed)(11):走进shell 2.2

图 2-2 Linux 虚拟控制台登录界面

注意,在图 2-2 中第一行文本的最后有一个词tty2。这个词中的 2 表明这是虚拟控制台 2,可以通过 Ctrl+Alt+F2 组合键进入。tty代表电传打字机(teletypewriter)。这是一个古老的名词,指的是一台用于发送消息的机器。

说明 不是所有的 Linux 发行版都会在登录界面上显示虚拟控制台的 tty 号。

login:提示符后输入用户 ID,然后再在Password:提示符后输入密码,就可以进入控制台终端了。如果你之前从来没有用过这种方式登录,那要注意在这里输入密码和在图形环境中输入不太一样。在图形环境中,输入密码的时候会看到点号或星号,但是在虚拟控制台中,输入密码的时候什么都不会显示。

登入虚拟控制台之后,你就进入了 Linux CLI。记住,在 Linux 虚拟控制台中是无法运行任何图形化程序的。

一旦登录完成,你可以保持此次登录的活动状态,然后在不中断活动会话的同时切换到另一个虚拟控制台。你可以在所有虚拟控制台之间切换,拥有多个活动会话。在使用 CLI 时,这个特性为你提供了巨大的灵活性。

还有一些灵活性涉及虚拟控制台的外观。尽管虚拟控制台只是文本模式的控制台终端,但你可以修改文字和背景色。

比如可将终端的背景色设置成白色、文本设置成黑色,这样可让眼睛轻松些。登录之后,有好几种方法可实现这样的修改。其中一种方法是输入命令setterm -inversescreen on,然后按回车键,如图 2-3 所示。注意,在途中我们使用选项on启用了inversescreen特性。也可以使用选项off关闭该特性。

Linux命令行与shell脚本编程大全(3rd ed)(11):走进shell 2.2

图 2-3 启用了inversescreen的 Linux 虚拟控制台

另一种方法是连着输入两条命令。输入setterm -background white,然后按回车键,接着输入setterm -foreground black,再按回车键。要注意,因为先修改的是终端的背景色,所以可能会很难看清接下来输入的命令。

在上面的命令中,你不用像inversescreen那样去启用或关闭什么特性。共有 8 种颜色可供选择,分别是blackredgreenyellowbluemagentacyanwhite(这种颜色在有些发行版中看起来像灰色)。你可以赋予纯文本模式的控制台终端富有创意的外观效果。表 2-2 展示了setterm命令的一些选项,可以用于增进控制台终端的可读性,或改善外观。

表 2-2 用于设置前景色和背景色的setterm选项

选项 参数 描述
-background blackredgreenyellowbluemagentacyanwhite 将终端的背景色改为指定颜色
-foreground blackredgreenyellowbluemagentacyanwhite 将终端的前景色改为指定颜色
-inversescreen onoff 交换背景色和前景色
-reset 将终端外观恢复成默认设置并清屏
-store 将终端当前的前景色和背景色设置成-reset选项的值

如果不涉及 GUI,虚拟控制台终端访问 CLI 自然是不错的选择。但有时候需要一边访问 CLI,一边运行图形化程序。使用终端仿真软件包可以解决这个问题,这也是在 GUI 中访问 shell CLI 的一种流行的方式。接下来的部分将介绍能够提供图形化终端仿真的常见软件包。

评论

发布