《Linux命令行和shell脚本编程大全》第二章阅读笔记

news/2025/2/26 8:19:08

二.走进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 中第一个可用的终端仿真器,感兴趣可以自行尝试。


http://www.niftyadmin.cn/n/5868369.html

相关文章

数据结构与算法-图论-最短路和其他的结合

介绍 最短路算法常与深度优先搜索(DFS)、动态规划(DP)、二分答案、拓扑排序等算法结合使用: - 最短路与DFS结合:在一些图的路径问题中,当需要访问特定的多个结点,且数据范围较小时…

RK3399 Android7双WiFi功能实现

在Android系统里面,WiFi功能STA和AP模式是互斥的,而现在越来越多的WiFi模组或者芯片能支持并发模式,即STA+P2P、STA+STA或者STA+AP模式组合。不管是单WiFi并发,还是双WiFi模组,想让STA和AP两个模式同时运行,对于Android7来说,是需要修改到系统源码,才能让APP层用Androi…

SSM和SpringBoot有什么区别?

SSM(Spring、Spring MVC、MyBatis)和 Spring Boot 有以下一些区别: 配置方式 SSM:配置相对繁琐,需要在多个 XML 文件中进行大量的配置。Spring Boot:采用“约定大于配置”的原则,极大地简化了配…

论文笔记(七十二)Reward Centering(五)

Reward Centering(五) 文章概括摘要附录B 理论细节C 实验细节D 相关方法的联系 文章概括 引用: article{naik2024reward,title{Reward Centering},author{Naik, Abhishek and Wan, Yi and Tomar, Manan and Sutton, Richard S},journal{arX…

Nacos + Dubbo 实现微服务的Rpc调用

文章目录 概念整理基本概念概念助记前提Rpc与HTTP类比RPC接口类的一些理解 项目代码接口类定义实现提供者项目POM文件项目代码文件项目配置文件运行项目补充说明 实现消费者项目POM文件项目代码文件项目配置文件运行项目补充说明 本文参考自SpringCloudDubboNacos整合实现RPC调…

MySQL 和 Elasticsearch 之间的数据同步

MySQL 和 Elasticsearch 之间的数据同步是常见的需求,通常用于将结构化数据从关系型数据库同步到 Elasticsearch 以实现高效的全文搜索、聚合分析和实时查询。以下是几种常用的同步方案及其实现方法: 1. 应用层双写(双写模式) 原…

面试题——简述Vue 3的服务器端渲染(SSR)是如何工作的?

面试题——简述Vue3的服务器端渲染(SSR)是如何工作的? 服务器端渲染(SSR)已经成为了一个热门话题。Vue 3,作为一款流行的前端框架,也提供了强大的SSR支持。那么,Vue 3的SSR究竟是如…

muduo源码阅读:linux timefd定时器

⭐timerfd timerfd 是Linux一个定时器接口,它基于文件描述符工作,并通过该文件描述符的可读事件进行超时通知。可以方便地与select、poll和epoll等I/O多路复用机制集成,从而在没有处理事件时阻塞程序执行,实现高效的零轮询编程模…