这是用户在 2024-10-2 15:08 为 https://app.immersivetranslate.com/pdf/?file=file%3A%2F%2F%2FC%3A%2FUsers%2Ffengli%2FDownloads%2FLPI... 保存的双语快照页面,由 沉浸式翻译 提供双语支持。了解如何保存?

目录

主题 101:系统架构

1

101.1 确定和配置硬件设置

2

101.1 课程 1

3

介绍

3

设备激活

4

Linux 中的设备检查

4

信息文件和设备文件

11

存储设备

12

指导练习

14

探索性练习

15

摘要

16

指导练习的答案

17

探索性练习的答案

18

101.2 启动系统

19

101.2 课程 1

21

介绍

21

BIOS 或 UEFI

21

引导程序 如果您正在编写代码,请不要在每行代码前包含“line_number|”

23

系统初始化

25

初始化检查

26

指导练习

29

探索性练习

30

摘要

31

指导练习的答案

32

探索性练习的答案

33

101.3 更改运行级别 / 启动目标以及关闭或重启系统

34

101.3 课程 1

36

介绍

36

SysVinit

37

systemd

40

新兴企业

43

关机和重启

44

指导练习

46

探索性练习

47

摘要

48

指导练习的答案

49

探索性练习的答案

50

主题 102:LINUX 安装与软件包管理

51

102.1 设计硬盘布局

52

102.1 课程 1

53

介绍

53

挂载点

54

保持事物分离

55

Swap

57

LVM

58

指导练习

60

探索性练习

61

摘要

62

指导练习的答案

63

探索性练习的答案

64

102.2 安装引导管理器

65

102.2 课程 1

66

介绍

66

GRUB 传统版 vs. GRUB 2

67

引导加载程序在哪里

67

/boot 分区

68

GRUB 2

69

GRUB 传统

75

指导练习

80

探索性练习

81

摘要

82

指导练习的答案

83

探索性练习的答案

84

102.3 管理共享库

86

102.3 课程 1

87

介绍

87

共享库的概念

87

共享对象文件命名约定

88

共享库路径的配置

89

搜索特定可执行文件的依赖项

92

指导练习

94

探索性练习

95

摘要

96

指导练习的答案

98

探索性练习的答案

99

102.4 使用 Debian 包管理

100

102.4 课程 1

101

介绍

101

Debian 软件包工具(dpkg)

102

高级包工具 (apt)

106

指导练习

116

探索性练习

117

摘要

118

指导练习的答案

120

探索性练习的答案

121

102.5 使用 RPM 和 YUM 包管理

122

102.5 课程 1

123

介绍

123

RPM 包管理器(rpm)

124

黄色狗更新器修改版 (YUM)

129

DNF

134

Zypper

136

指导练习

143

探索性练习

144

摘要

145

指导练习的答案

146

探索性练习的答案

147

102.6 作为虚拟化客户机的 Linux

148

102.6 课程 1

149

介绍

149

虚拟化概述

149

虚拟机的类型

150

使用虚拟机模板

157

将虚拟机部署到云端

158

容器

161

指导练习

163

探索性练习

164

摘要

165

指导练习的答案

166

探索性练习的答案

167

主题 103:GNU 和 UNIX 命令

169

103.1 在命令行上工作

170

103.1 课程 1

172

介绍

172

获取系统信息

172

获取命令信息

173

使用您的命令历史记录

176

指导练习

177

探索性练习

178

摘要

179

指导练习的答案

180

探索性练习的答案

181

103.1 课程 2

182

介绍

182

查找您的环境变量

182

创建新的环境变量

183

删除环境变量

184

引用以转义特殊字符

185

指导练习

187

探索性练习

188

摘要

189

指导练习的答案

190

探索性练习的答案

191

103.2 使用过滤器处理文本流

192

103.2 课程 1

194

介绍

194

关于重定向和管道的快速回顾

194

处理文本流

196

指导练习

208

探索性练习

210

摘要

212

指导练习的答案

214

探索性练习的答案

219

103.3 执行基本文件管理

225

103.3 课程 1

227

介绍

227

操作文件

228

创建和删除目录

233

递归操作文件和目录

234

文件通配符和通配符

237

通配符的类型

238

指导练习

242

探索性练习

244

摘要

245

指导练习的答案

246

探索性练习的答案

248

103.3 课程 2

250

介绍

250

如何查找文件

250

归档文件

254

指导练习

260

探索性练习

261

摘要

262

指导练习的答案

263

探索性练习的答案

264

103.4 使用流、管道和重定向

266

103.4 课程 1

267

介绍

267

重定向

268

文档和字符串

271

指导练习

273

探索性练习

274

摘要

275

指导练习的答案

276

探索性练习的答案

277

103.4 课程 2

278

介绍

278

管道

278

命令替换

280

指导练习

283

探索性练习

284

摘要

285

指导练习的答案

286

探索性练习的答案

287

103.5 创建、监视和终止进程

288

103.5 课程 1

290

介绍

290

作业控制

290

过程监控

295

指导练习

306

探索性练习

308

摘要

310

指导练习的答案

312

探索性练习的答案

315

103.5 课程 2

318

介绍

318

终端复用器的特性

318

GNU Screen

319

tmux

326

指导练习

334

探索性练习

338

摘要

340

指导练习的答案

341

探索性练习的答案

345

103.6 修改进程执行优先级

347

103.6 课程 1

348

介绍

348

Linux 调度器

349

阅读优先级

349

处理友好性

351

指导练习

353

探索性练习

355

摘要

356

指导练习的答案

357

探索性练习的答案

359

103.7 使用正则表达式搜索文本文件

360

103.7 课程 1

361

介绍

361

括号表达式

362

量词

363

边界

364

分支和反向引用

365

使用正则表达式搜索

365

指导练习

367

探索性练习

368

摘要

369

指导练习的答案

370

探索性练习的答案

371

103.7 课程 2

372

介绍

372

模式查找器:grep

372

流编辑器:sed

376

结合 grep 和 sed

380

指导练习

383

探索性练习

384

摘要

386

指导练习的答案

387

探索性练习的答案

388

103.8 基本文件编辑

390

103.8 课程 1

391

介绍

391

插入模式

392

正常模式

392

冒号命令

395

替代编辑器

396

指导练习

398

探索性练习

399

摘要

400

指导练习的答案

401

探索性练习的答案

402

主题 104:设备、Linux 文件系统、文件系统层次标准

403

104.1 创建分区和文件系统

404

104.1 课程 1

405

介绍

405

理解 MBR 和 GPT

406

创建文件系统

413

使用 GNU Parted 管理分区

423

创建交换分区

430

指导练习

432

探索性练习

433

摘要

435

指导练习的答案

436

探索性练习的答案

437

104.2 维护文件系统的完整性

439

104.2 课程 1

440

介绍

440

检查磁盘使用情况

440

检查可用空间

443

维护 ext2、ext3 和 ext4 文件系统

447

指导练习

454

探索性练习

455

摘要

456

指导练习的答案

457

探索性练习的答案

459

104.3 控制文件系统的挂载和卸载

461

104.3 课程 1

462

介绍

462

挂载和卸载文件系统

462

在启动时挂载文件系统

466

使用 UUID 和标签

468

使用 Systemd 挂载磁盘

470

指导练习

474

探索性练习

475

摘要

476

指导练习的答案

477

探索性练习的答案

479

104.5 管理文件权限和所有权

481

104.5 课程 1

482

介绍

482

查询文件和目录的信息

482

关于目录

483

查看隐藏文件

484

理解文件类型

485

理解权限

485

修改文件权限

487

修改文件所有权

491

查询组

491

默认权限

492

特殊权限

494

指导练习

498

探索性练习

500

摘要

501

指导练习的答案

502

探索性练习的答案

505

104.6 创建和更改硬链接和符号链接

508

104.6 课程 1

509

介绍

509

理解链接

509

指导练习

514

探索性练习

515

摘要

518

指导练习的答案

519

探索性练习的答案

520

104.7 查找系统文件并将文件放置在正确的位置

524

104.7 课程 1

525

介绍

525

文件系统层次标准

525

查找文件

528

指导练习

537

探索性练习

538

摘要

539

指导练习的答案

540

探索性练习的答案

542

印记

544

主题 101:系统架构

LPIC-1 (101) (版本 5.0) |

版本:2023-09-04 | 许可协议:CC BY-NC-ND 4.0 | learning.lpi.org | 1

101.1 确定和配置硬件设置

参考 LPI 目标

LPIC-1 v5,考试 101,目标 101.1

重量

2

关键知识领域

• 启用和禁用集成外设。

• 区分各种类型的磁盘存储设备。

• 确定设备的硬件资源。

• 列出各种硬件信息的工具和实用程序(例如 lsusb、lspci 等)。

• 操作 USB 设备的工具和实用程序。

• 对 sysfs、udev 和 dbus 的概念理解。

使用的文件、术语和工具的部分列表

/ sys /

/ proc /

/ dev /

modprobe

lsmod

lspci

lsusb

LPIC-1 (101) (版本 5.0) | 主题 101: 系统架构

2 | learning.lpi.org | 许可协议:CC BY-NC-ND 4.0。 | 版本:2023-09-04

101.1 课程 1

证书:LPIC-1

版本:5.0

主题:101 系统架构

目标:101.1 确定和配置硬件

设置

课程:1 / 1

介绍

自电子计算的早期以来,商业和个人计算机制造商在其机器中集成了各种硬件部件,这些部件又需要操作系统的支持。从操作系统开发者的角度来看,这可能是压倒性的,除非行业建立了指令集和设备通信的标准。类似于操作系统为应用程序提供的标准化抽象层,这些标准使得编写和维护不依赖于特定硬件模型的操作系统变得更加容易。然而,集成的底层硬件的复杂性有时需要调整资源如何暴露给操作系统,以便它能够正确安装和运行。

这些调整中的一些甚至可以在没有安装操作系统的情况下进行。大多数机器提供了一个可以在机器开机时执行的配置工具。直到 2000 年代中期,配置工具是在 BIOS(基本输入/输出系统)中实现的,这是包含 x86 主板中基本配置例程的固件标准。从 2000 年代第一个十年的末期开始,基于 x86 架构的机器开始用一种称为 UEFI(统一可扩展固件接口)的新实现替代 BIOS。

LPIC-1 (101) (版本 5.0) | 101.1 确定和配置硬件设置

版本:2023-09-04 | 许可协议:CC BY-NC-ND 4.0。 | learning.lpi.org | 3

具有更复杂的识别、测试、配置和固件升级功能。尽管发生了变化,但仍然称配置工具为 BIOS 并不罕见,因为这两种实现都满足相同的基本目的。

NOTE

关于 BIOS 和 UEFI 之间的相似性和差异的更多细节将在后面的课程中介绍。

设备激活

系统配置工具在计算机开机时按下特定键后显示。按下哪个键因制造商而异,但通常是或某个功能键,例如或。使用的键组合通常在开机画面中显示。

在 BIOS 设置实用程序中,可以启用和禁用集成外设,激活基本错误保护,并更改硬件设置,如 IRQ(中断请求)和 DMA(直接内存访问)。在现代机器上,通常不需要更改这些设置,但可能需要进行调整以解决特定问题。例如,有些 RAM 技术与比默认值更快的数据传输速率兼容,因此建议将其更改为制造商指定的值。一些 CPU 提供的功能可能对于特定安装并不需要,可以被禁用。禁用的功能将减少功耗,并可以增加系统保护,因为包含已知错误的 CPU 功能也可以被禁用。

如果机器配备了多个存储设备,重要的是要定义哪个设备具有正确的引导加载程序,并应作为设备启动顺序中的第一个条目。如果不正确的设备在 BIOS 启动验证列表中排在第一位,操作系统可能无法加载。

Linux 中的设备检查

一旦设备被正确识别,操作系统就需要关联所需的相应软件组件。当硬件功能未按预期工作时,确定问题发生的具体位置非常重要。当操作系统未检测到某个硬件时,该部件或其连接的端口很可能是有缺陷的。当硬件部件被正确检测到,但仍然无法正常工作时,可能是操作系统方面的问题。因此,处理与硬件相关的问题时,第一步是检查操作系统是否正确检测到设备。在 Linux 系统上识别硬件资源有两种基本方法:使用专门的命令或读取特殊文件系统中的特定文件。

LPIC-1 (101) (版本 5.0) | 主题 101: 系统架构

4 | learning.lpi.org | 许可协议:CC BY-NC-ND 4.0 | 版本:2023-09-04

101.2 启动系统

参考 LPI 目标

LPIC-1 v5,考试 101,目标 101.2

重量

3

关键知识领域

• 在启动时向引导加载程序提供常见命令和向内核提供选项。

• 演示从 BIOS/UEFI 到启动完成的启动序列知识。

• 理解 SysVinit 和 systemd。

• 对 Upstart 的认识。

• 检查日志文件中的启动事件。

使用的文件、术语和工具的部分列表

dmesg

journalctl

• BIOS

• UEFI

• 引导加载程序

• 内核

initramfs

init

• SysVinit

LPIC-1 (101) (版本 5.0) | 101.2 启动系统

版本:2023-09-04 | 许可协议:CC BY-NC-ND 4.0 | learning.lpi.org | 19

探索性练习

作为系统管理员,需要定期检查以删除大量文件。这些大量文件位于 /var 中,并以 .backup 扩展名结尾。

◦ 使用 find 命令定位这些文件:

对这些文件大小的分析表明,它们的范围从 100M 到 1000M。使用此新信息完成之前的命令,以便您可以找到范围在 100M 到 1000M 之间的备份文件:

最后,完成此命令,执行删除操作,以便这些文件将被移除:

在 /var 目录中,存在四个备份文件:db-jan-2018.backup

db-feb-2018.backup db-march-2018.backup db-apr-2018.backup

使用 tar,指定创建名为 db-first- 的归档文件的命令

季度-2018.备份.tar:

使用 tar,指定创建归档并使用 gzip 压缩的命令。

请注意,生成的文件名应以 .gz 结尾:

LPIC-1 (101) (版本 5.0) | 103.3 执行基本文件管理

版本:2023-09-04 | 许可协议:CC BY-NC-ND 4.0 | learning.lpi.org | 261

%CPU

CPU 使用百分比。

%MEM

物理内存使用百分比。

VSZ

进程的虚拟内存(以 KiB 为单位)。

RSS

进程使用的非交换物理内存(以 KiB 为单位)。

TT

终端 (tty) 控制进程。

STAT

表示进程状态的代码。除了 S、R 和 Z(我们在描述 top 的输出时看到的),其他可能的值包括:D(不可中断的睡眠 — 通常等待 I/O)、T(停止 — 通常由控制信号引起)。一些额外的修饰符包括:<(高优先级 — 对其他进程不友好)、N(低优先级 — 对其他进程友好)或 +(在前台进程组中)。

开始

进程开始的时间。

TIME

累计 CPU 时间。

命令

启动该进程的命令。

LPIC-1 (101) (版本 5.0) | 103.5 创建、监控和终止进程

版本:2023-09-04 | 许可协议:CC BY-NC-ND 4.0 | learning.lpi.org | 305

$ screen -ls

在以下屏幕上:

1090.第二次会话 (08/24/19 14:38:35) (附加) 1037.pts-0.debian (08/24/19 13:53:36) (附加) 在 /run/screen/S-carol 中有 2 个套接字。

要结束一个会话,请退出其所有窗口,或直接输入命令 screen -S SESSION-PID -X quit(您也可以提供会话名称)。让我们结束我们的第一个会话:

$ screen -S 1037 -X quit

您将被送回到屏幕外的终端提示符。但请记住,我们的第二个会话仍然处于活动状态:

$ screen -ls

在以下屏幕上:

1090.第二会话 (08/24/19 14:38:35) (分离) 1 个套接字在 /run/screen/S-carol。

然而,由于我们终止了其父会话,它被赋予了一个新标签:分离。

会话分离

出于多种原因,您可能希望将屏幕会话从其终端中分离:

• 让你在工作时的电脑完成其任务,并在家中远程连接。

• 与其他用户共享会话。

您可以使用键组合 + - 来分离会话。您将返回到终端:

[从 1090.第二会话中分离] $

要重新连接到会话,您可以使用命令 screen -r SESSION-PID。或者,您可以使用上面看到的 SESSION-NAME。如果只有一个分离的会话,则两者都不是强制的:

$ screen -r

LPIC-1 (101) (版本 5.0) | 103.5 创建、监控和终止进程

版本:2023-09-04 | 许可协议:CC BY-NC-ND 4.0 | learning.lpi.org | 323

$

[LPI] 0:窗口零- 1:窗口一* "debian" 19:05 27Aug-19

要垂直分割,请使用 + - :

│$

1 root 20 0 139088 6988 5264 S 0.0 0.2 0:00.50 systemd │ │ 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd │ │

3 root 20 0 0 0 0 S 0.0 0.0 0:00.04 ksoftirqd/0 │

4 root 20 0 0 0 0 S 0.0 0.0 0:01.62 kworker/0:0 │

5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H│

7 root 20 0 0 0 0 S 0.0 0.0 0:00.06 rcu_sched │

8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh │

9 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0 │ │ 10 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 lru-add-drai│ n │ 11 root rt 0 0 0 0 S 0.0 0.0 0:00.01 watchdog/0 │ │ 12 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/0 │ │ $ │

──────────────────────────────────────────────────────────────────────────────────────┴──────────── ───

$

LPIC-1 (101) (版本 5.0) | 103.5 创建、监控和终止进程

版本:2023-09-04 | 许可协议:CC BY-NC-ND 4.0 | learning.lpi.org | 329

[LPI] 0:窗口零- 1:窗口一* "debian" 19:05 27Aug-19

要销毁当前面板(连同其内部运行的伪终端以及任何相关程序),请使用 + - 。系统会在状态栏上询问您确认:

杀死面板 1?(y/n)

重要的窗格命令:

Ctrl

+ - , , ,

在窗格之间移动。

Ctrl

+ -

移动到最后一个活动窗格。

Ctrl

+ - +

调整窗格大小为一行。

Ctrl

+ - +

调整窗格大小五行。

Ctrl

+ -

交换窗格(当前到上一个)。

Ctrl

+ -

交换窗格(当前到下一个)。

LPIC-1 (101) (版本 5.0) | 主题 103:GNU 和 Unix 命令

330 | learning.lpi.org | 许可协议:CC BY-NC-ND 4.0 | 版本:2023-09-04

Ctrl

+ -

缩放面板。

Ctrl

+ -

tmux 在窗格内显示一个花哨的时钟(按 q 结束它)。

Ctrl

+ -

将面板转换为窗口。

要查看完整的命令列表,请查阅手册页。

会话

要在 tmux 中列出会话,可以使用 + - :

(0) + LPI: 2 个窗口(附加)

另外,您可以使用 tmux ls 命令:

$ tmux ls

LPI: 2 窗口(创建于 2019 年 8 月 27 日 19:01:49)[158x39](附加)

只有一个会话(LPI),其中包含两个窗口。让我们从当前会话中创建一个新会话。这可以通过使用 +,在提示符下输入 :new,然后按 Enter 来实现。您将被发送到新会话,可以在状态栏上观察到:

[2] 0:bash* "debian" 19:15 27-八月-19

默认情况下,tmux 将会话命名为 2。要重命名,请使用 + - 。当提示时,提供新名称并按 Enter 键:

(重命名会话) 第二会话

您可以使用 + - 切换会话(使用箭头键和):

(0) + LPI: 2 窗口 (1) + 第二会话: 1 窗口 (附加)

LPIC-1 (101) (版本 5.0) | 103.5 创建、监控和终止进程

版本:2023-09-04 | 许可协议:CC BY-NC-ND 4.0。 | learning.lpi.org | 331

要终止一个会话,可以使用命令 tmux kill-session -t SESSION-NAME。如果您在当前已连接的会话中输入该命令,您将被退出 tmux 并返回到初始终端会话:

$ tmux kill-session -t "第二个会话"

[退出] $

会话分离

通过结束第二个会话,我们被抛出了 tmux。然而,我们仍然有一个活动会话。询问 tmux 会话列表,你肯定会在那里找到它:

$ tmux ls

LPI: 2 窗口(创建于 2019 年 8 月 27 日 19:01:49)[158x39]

然而,此会话与其终端已分离。我们可以使用 tmux attach -t SESSION-NAME 进行连接(attach 可以替换为 at 或 — 简单地 — a)。当只有一个会话时,名称规范是可选的:

$ tmux a

您现在已回到您的会话;要从中分离,请按 + - :

[分离(来自会话 LPI)] $

TIP

同一个会话可以附加到多个终端。如果您想附加一个会话并确保它首先从其他终端分离,请使用 -d 选项:tmux attach -d -t SESSION-NAME。

重要的会话附加/分离命令:

Ctrl

+ -

选择要分离的客户端。

Ctrl

+ -

刷新客户端的终端。

LPIC-1 (101) (版本 5.0) | 主题 103:GNU 和 Unix 命令

332 | learning.lpi.org | 许可协议:CC BY-NC-ND 4.0 | 版本:2023-09-04

要查看完整的命令列表,请查阅手册页。

复制和粘贴:滚动模式

tmux 还具有与 screen 基本相同的复制模式(记得使用 tmux 的命令前缀,而不是 screen 的!)。唯一的区别是,在命令上,你使用 + 空格来标记选择的开始,使用 + 来复制选定的文本。

tmux 的自定义设置

tmux 的配置文件通常位于 /etc/tmux.conf 和 ~/.tmux.conf。当启动 tmux 时,如果这些文件存在,tmux 会加载它们。还可以使用 -f 选项启动 tmux,以提供备用配置文件。您可以在 /usr/share/doc/tmux/example_tmux.conf 找到一个 tmux 配置文件示例。您可以实现的自定义级别非常高。您可以做的一些事情包括:

• 更改前缀键 # 将前缀键更改为 C-a

设置 -g 前缀 C-a 解绑 C-b 绑定 C-a 发送前缀

• 为编号大于 9 的窗口设置额外的键绑定 # 一些额外的键绑定用于选择编号较高的窗口

绑定 F1 选择窗口 -t:10 绑定 F2 选择窗口 -t:11 绑定 F3 选择窗口 -t:12

要获取所有绑定的完整列表,请输入 + - (按 q 退出)或查阅手册页。

LPIC-1 (101) (版本 5.0) | 103.5 创建、监控和终止进程

版本:2023-09-04 | 许可协议:CC BY-NC-ND 4.0 | learning.lpi.org | 333

指导练习

1. 指出以下陈述/特性是否对应于 GNU Screen、tmux 或两者:特性/陈述 GNU Screen tmux

默认命令前缀是

Ctrl

+

客户端-服务器模型

窗格是伪终端

杀死一个区域并不会杀死其关联的窗口

会话包括窗口

会话可以被分离

在您的计算机上安装 GNU Screen(软件包名称:screen),并完成以下操作。

任务:

◦ 启动程序。你使用什么命令?

◦ 开始顶部:

◦ 使用 screen 的键前缀,打开一个新窗口;然后,使用 vi 打开 /etc/screenrc:

◦ 在屏幕底部列出窗口:

将当前窗口的名称更改为 vi:

◦ 将剩余窗口的名称更改为顶部。为此,首先显示所有窗口的列表,以便您可以上下移动并选择正确的窗口:

◦ 通过在底部显示窗口名称来检查名称是否已更改

LPIC-1 (101) (版本 5.0) | 主题 103:GNU 和 Unix 命令

334 | learning.lpi.org | 许可协议:CC BY-NC-ND 4.0 | 版本:2023-09-04