## 9.3 vim 的额外功能
其实,目前大部分的 distributions 都以 vim 取代 vi 的功能了!如果你使用 vi 后,却看到画面的右下角有显示目前光标所在的行列号码,那么你的 vi 已经被 vim 所取代啰~为什么要用 vim 呢?因为 vim 具有颜色显示的功能,并且还支持许多的程序语法 (syntax), 因此,当你使用 vim 编辑程序时 (不论是 C 语言,还是 shell script ),我们的 vim 将可帮你直接进行“程序除错 (debug)”的功能!真的很不赖吧!^_^
如果你在文字模式下,输入 alias 时,出现这样的画面:
```
[dmtsai@study ~]$ alias
....其他省略....
alias vi='vim' <==重点在这列啊!
```
这表示当你使用 vi 这个指令时,其实就是执行 vim 啦!如果你没有这一列,那么你就必须要使用 vim filename 来启动 vim 啰!基本上, vim 的一般用法与 vi 完全一模一样~没有不同啦!那么我们就来看看 vim 的画面是怎样啰!假设我想要编辑 /etc/services ,则输入“vim /etc/services”看看吧:
![使用 vim 编辑系统配置文件的示范](https://box.kancloud.cn/2016-05-13_573573754f29f.jpg)图9.3.1、使用 vim 编辑系统配置文件的示范
上面是 vim 的画面示意图,在这个画面中有几点特色要说明喔:
1. 由于 /etc/services 是系统规划的配置文件,因此 vim 会进行语法检验,所以你会看到画面中内部主要为深蓝色, 且深蓝色那一列是以注解符号 (#) 为开头;
2. 画面中的最下面一列,在左边显示该文件的属性,包括只读文件、内容共有 11176 列与 670293 个字符;
3. 最下面一列的右边出现的 1,1 表示光标所在为第一列, 第一个字符位置之意(请看上图中的光标所在);
所以,如果你向下移动到其他位置时,出现的非注解的数据就会有点像这样:
![使用 vim 编辑系统配置文件的示范](https://box.kancloud.cn/2016-05-13_573573756ebf2.jpg)图9.3.2、使用 vim 编辑系统配置文件的示范
看到了喔!除了注解之外,其他的列就会有特别的颜色显示呢!可以避免你打错字啊!而且, 最右下角的 1% 代表目前这个画面占整体文件的 1% 之意!这样瞭乎?
### 9.3.1 区块选择(Visual Block)
刚刚我们提到的简单的 vi 操作过程中,几乎提到的都是以列为单位的操作。那么如果我想要搞定的是一个区块范围呢? 举例来说,像下面这种格式的文件:
```
192.168.1.1 host1.class.net
192.168.1.2 host2.class.net
192.168.1.3 host3.class.net
192.168.1.4 host4.class.net
.....中间省略......
```
这个文件我将他放置到 [http://linux.vbird.org/linux_basic/0310vi/hosts](http://linux.vbird.org/linux_basic/0310vi/hosts) ,你可以自行下载来看一看这个文件啊!现在我们来玩一玩这个文件吧!假设我想要将 host1, host2... 等等复制起来, 并且加到每一列的后面,亦即每一列的结果要是“ 192.168.1.2 host2.class.net host2 ”这样的情况时, 在传统或现代的窗口型编辑器似乎不容易达到这个需求,但是咱们的 vim 是办的到的喔!那就使用区块选择 (Visual Block) 吧!当我们按下 v 或者 V 或者 [Ctrl]+v 时, 这个时候光标移动过的地方就会开始反白,这三个按键的意义分别是:
| 区块选择的按键意义 |
| --- | --- | --- |
| v | 字符选择,会将光标经过的地方反白选择! |
| V | 列选择,会将光标经过的列反白选择! |
| [Ctrl]+v | 区块选择,可以用长方形的方式选择数据 |
| y | 将反白的地方复制起来 |
| d | 将反白的地方删除掉 |
| p | 将刚刚复制的区块,在光标所在处贴上! |
来实际进行我们需要的动作吧!就是将 host 再加到每一列的最后面,你可以这样做:
1. 使用 vim hosts 来打开该文件,记得该文件请由[上述的链接](http://linux.vbird.org/linux_basic/0310vi/hosts)下载先!
2. 将光标移动到第一列的 host 那个 h 上头,然后按下 [ctrl]-v ,左下角出现区块示意字样:
![vim 的区块选择、复制、贴上等操作功能](https://box.kancloud.cn/2016-05-13_573573758c49d.jpg)图9.3.3、vim 的区块选择、复制、贴上等功能操作
3. 将光标移动到最底部,此时光标移动过的区域会反白!如下图所示:
![vim 的区块选择、复制、贴上等操作功能](img/centos7_vim-block-02.jpg)图9.3.4、vim 的区块选择、复制、贴上等功能操作
4. 此时你可以按下“ y ”来进行复制,当你按下 y 之后,反白的区块就会消失不见啰!
5. 最后,将光标移动到第一列的最右边,并且再用编辑模式向右按两个空白键,回到一般指令模式后, 再按下“ p ”后,你会发现很有趣!如下图所示:
![vim 的区块选择、复制、贴上等操作功能](https://box.kancloud.cn/2016-05-13_57357375a711a.jpg)图9.3.5、vim 的区块选择、复制、贴上等功能操作
通过上述的功能,你可以复制一个区块,并且是贴在某个“区块的范围”内,而不是以列为单位来处理你的整份文件喔! 鸟哥个人是觉得这玩意儿非常的有帮助啦!至少在进行排列整齐的文字文件中复制/删除区块时,会是一个非常棒的功能!
### 9.3.2 多文件编辑
假设一个例子,你想要将刚刚我们的 hosts 内的 IP 复制到你的 /etc/hosts 这个文件去, 那么该如何编辑?我们知道在 vi 内可以使用 :r filename 来读入某个文件的内容, 不过,这样毕竟是将整个文件读入啊!如果我只是想要部分内容呢?呵呵!这个时候多文件同时编辑就很有用了。 我们可以使用 vim 后面同时接好几个文件来同时打开喔!相关的按键有:
| 多文件编辑的按键 |
| --- | --- | --- |
| :n | 编辑下一个文件 |
| :N | 编辑上一个文件 |
| :files | 列出目前这个 vim 的打开的所有文件 |
在过去,鸟哥想要将 A 文件内的十条消息“移动”到 B 文件去,通常要开两个 vim 窗口来复制, 偏偏每个 vim 都是独立的,因此并没有办法在 A 文件下达“ nyy ”再跑到 B 文件去“ p ”啦! 在这种情况下最常用的方法就是通过鼠标圈选, 复制后贴上。不过这样一来还是有问题,因为鸟哥超级喜欢使用 [Tab] 按键进行编排对齐动作, 通过鼠标却会将 [Tab] 转成空白键,这样内容就不一样了!此时这个多文件编辑就派上用场了!
现在你可以做一下练习看看说!假设你要将刚刚鸟哥提供的 hosts 内的前四列 IP 数据复制到你的 /etc/hosts 文件内,那可以怎么进行呢?可以这样啊:
1. 通过“ vim hosts /etc/hosts ”指令来使用一个 vim 打开两个文件;
2. 在 vim 中先使用“ :files ”察看一下编辑的文件数据有啥?结果如下所示。 至于下图的最后一列显示的是“按下任意键”就会回到 vim 的一般指令模式中!
![vim 的多文件编辑中,查看同时编辑的文件数据](https://box.kancloud.cn/2016-05-13_57357375c42ab.jpg)图9.3.6、vim 的多文件编辑中,查看同时编辑的文件数据
3. 在第一列输入“ 4yy ”复制四列;
4. 在 vim 的环境下输入“ :n ”会来到第二个编辑的文件,亦即 /etc/hosts 内;
5. 在 /etc/hosts 下按“ G ”到最后一列,再输入“ p ”贴上;
6. 按下多次的“ u ”来还原原本的文件数据;
7. 最终按下“ :q ”来离开 vim 的多文件编辑吧!
看到了吧?利用多文件编辑的功能,可以让你很快速的就将需要的数据复制到正确的文件内。 当然啰,这个功能也可以利用窗口接口来达到,那就是下面要提到的多窗口功能。
### 9.3.3 多窗口功能
在开始这个小节前,先来想像两个情况:
* 当我有一个文件非常的大,我查阅到后面的数据时,想要“对照”前面的数据, 是否需要使用 [ctrl]+f 与 [ctrl]+b (或 pageup, pagedown 功能键) 来跑前跑后查阅?
* 我有两个需要对照着看的文件,不想使用前一小节提到的多文件编辑功能;
在一般窗口接口下的编辑软件大多有“分区窗口”或者是“冻结窗口”的功能来将一个文件分区成多个窗口的展现, 那么 vim 能不能达到这个功能啊?可以啊!但是如何分区窗口并放入文件呢? 很简单啊!在命令行界面输入“:sp {filename}”即可!那个 filename 可有可无, 如果想要在新窗口启动另一个文件,就加入文件名,否则仅输入 :sp 时, 出现的则是同一个文件在两个窗口间!
让我们来测试一下,你先使用“ vim /etc/man_db.conf ”打开这个文件,然后“ 1G ”去到第一列,之后输入“ :sp ” 再次的打开这个文件一次,然后再输入“ G ”,结果会变成下面这样喔:
![vim 的窗口分区示意图](https://box.kancloud.cn/2016-05-13_57357375da1e2.jpg)图9.3.7、vim 的窗口分区示意图
万一你再输入“ :sp /etc/hosts ”时,就会变成下图这样喔:
![vim 的窗口分区示意图](https://box.kancloud.cn/2016-05-13_573573760238c.jpg)图9.3.8、vim 的窗口分区示意图
怎样?帅吧!两个文件同时在一个屏幕上面显示,你还可以利用“[ctrl]+w+↑”及“[ctrl]+w+↓” 在两个窗口之间移动呢!这样的话,复制啊、查阅啊等等的,就变的很简单啰~ 分区窗口的相关指令功能有很多,不过你只要记得这几个就好了:
| 多窗口情况下的按键功能 |
| --- | --- | --- |
| :sp [filename] | 打开一个新窗口,如果有加 filename, 表示在新窗口打开一个新文件,否则表示两个窗口为同一个文件内容(同步显示)。 |
| [ctrl]+w+ j [ctrl]+w+↓ | 按键的按法是:先按下 [ctrl] 不放, 再按下 w 后放开所有的按键,然后再按下 j (或向下方向键),则光标可移动到下方的窗口。 |
| [ctrl]+w+ k [ctrl]+w+↑ | 同上,不过光标移动到上面的窗口。 |
| [ctrl]+w+ q | 其实就是 :q 结束离开啦! 举例来说,如果我想要结束下方的窗口,那么利用 [ctrl]+w+↓ 移动到下方窗口后,按下 :q 即可离开, 也可以按下 [ctrl]+w+q 啊! |
鸟哥第一次玩 vim 的分区窗口时,真是很高兴啊!竟然有这种功能!太棒了! ^_^
### 9.3.4 vim 的挑字补全功能
我们知道 bash 的环境下面可以按下 [tab] 按钮来达成指令/参数/文件名的补全功能,而我们也知道很多的程序编辑器,例如鸟哥用来在 windows 系统上面教网页设计、java script 等很好用的 notepad++ ([https://notepad-plus-plus.org/](https://notepad-plus-plus.org/)) 这种类的程序编辑器,都会有 (1)可以进行语法检验及 (2)可以根据扩展名来挑字的功能!这两个功能对于程序设计者来说, 是很有帮助的!毕竟偶尔某些特定的关键字老是背不起来...
在语法检验方面,vim 已经使用颜色来达成了!这部份不用伤脑筋的!比较伤脑筋的应该是在挑字补全上面!就是上面谈到的可以根据语法来挑选可能的关键字, 包括程序语言的语法以及特定的语法关键字等等。既然 notepad ++ 都有支持了,没道理 vim 不支持吧?呵呵!没错! 是有支持的~只是你可能要多背两个组合按钮就是了!
鸟哥建议可以记忆的主要 vim 补齐功能,大致有下面几个:
| 组合按钮 | 补齐的内容 |
| --- | --- | --- |
| [ctrl]+x -> [ctrl]+n | 通过目前正在编辑的这个“文件的内容文字”作为关键字,予以补齐 |
| [ctrl]+x -> [ctrl]+f | 以当前目录内的“文件名”作为关键字,予以补齐 |
| [ctrl]+x -> [ctrl]+o | 以扩展名作为语法补充,以 vim 内置的关键字,予以补齐 |
在鸟哥的认知中,比较有用的是第1, 3 这两个组合键,第一个组合按键中,你可能会在同一个文件里面重复出现许多相同的关键字, 那么就能够通过这个补全的功能来处理。如果你是想要使用 vim 内置的语法检验功能来处理取得关键字的补全,那么第三个项目就很有用了。 不过要注意,如果你想要使用第三个功能,就得要注意你编辑的文件的扩展名。我们下面来做个简单测试好了。
假设你想要编写网页,正要使用到 CSS 的美化功能时,突然想到有个背景的东西要处理,但是突然忘记掉背景的 CSS 关键语法,那可以使用如下的模样来处置! 请注意,一定要使用 .html 或 .php 的扩展名,否则 vim 不会调用正确的语法检验功能喔!因此下面我们创建的文件名为 html.html 啰!
![vim 的挑字补全功能](https://box.kancloud.cn/2016-05-13_5735737627662.jpg)图9.3.9、vim 的挑字补全功能
由于网页通常会支持 CSS 的语法,而 CSS 的美化语法使用的是 style 这个关键字,这个关键字后面接的就是 CSS 的元素与元素值。 若想要取得可能的元素有哪些,例如背景 (background) 的语法中,想要了解有哪些跟它有关的内置元素,如上图, 直接输入 b 然后按下 [crtl]+x 再按下 [crtl]+o 就会出现如上的相关字词可以选择,此时你就能够使用上下按钮来挑选所需要的关键元素! 这样使用上当然方便很多啊!只是要注意,一定要使用正确的扩展名,否则会无法出现任何关键字词喔!
### 9.3.5 vim 环境设置与记录: ~/.vimrc, ~/.viminfo
有没有发现,如果我们以 vim 软件来搜寻一个文件内部的某个字串时,这个字串会被反白, 而下次我们再次以 vim 编辑这个文件时,该搜寻的字串反白情况还是存在呢!甚至于在编辑其他文件时, 如果其他文件内也存在这个字串,哇!竟然还是主动反白耶!真神奇! 另外,当我们重复编辑同一个文件时,当第二次进入该文件时, 光标竟然就在上次离开的那一列上头呢!真是好方便啊~但是,怎么会这样呢?
这是因为我们的 vim 会主动的将你曾经做过的行为登录下来,好让你下次可以轻松的作业啊! 那个记录动作的文件就是: ~/.viminfo !如果你曾经使用过 vim, 那你的主文件夹应该会存在这个文件才对。这个文件是自动产生的, 你不必自行创建。而你在 vim 里头所做过的动作,就可以在这个文件内部查询到啰~ ^_^
此外,每个 distributions 对 vim 的默认环境都不太相同,举例来说,某些版本在搜寻到关键字时并不会高亮度反白, 有些版本则会主动的帮你进行缩排的行为。但这些其实都可以自行设置的,那就是 vim 的环境设置啰~ vim 的环境设置参数有很多,如果你想要知道目前的设置值,可以在一般指令模式时输入“ :set all ” 来查阅,不过.....设置项目实在太多了~所以,鸟哥在这里仅列出一些平时比较常用的一些简单的设置值, 提供给你参考啊。
![鸟哥的图示](https://box.kancloud.cn/2016-05-13_5735736501917.gif "鸟哥的图示")
**Tips** 所谓的缩排,就是当你按下 Enter 编辑新的一列时,光标不会在行首,而是在与上一列的第一个非空白字符处对齐!
| vim 的环境设置参数 |
| --- | --- | --- |
| :set nu :set nonu | 就是设置与取消行号啊! |
| :set hlsearch :set nohlsearch | hlsearch 就是 high light search(高亮度搜寻)。 这个就是设置是否将搜寻的字串反白的设置值。默认值是 hlsearch |
| :set autoindent :set noautoindent | 是否自动缩排?autoindent 就是自动缩排。 |
| :set backup | 是否自动储存备份文件?一般是 nobackup 的, 如果设置 backup 的话,那么当你更动任何一个文件时,则原始文件会被另存成一个文件名为 filename~ 的文件。 举例来说,我们编辑 hosts ,设置 :set backup ,那么当更动 hosts 时,在同目录下,就会产生 hosts~ 文件名的文件,记录原始的 hosts 文件内容 |
| :set ruler | 还记得我们提到的右下角的一些状态列说明吗? 这个 ruler 就是在显示或不显示该设置值的啦! |
| :set showmode | 这个则是,是否要显示 --INSERT-- 之类的字眼在左下角的状态列。 |
| :set backspace=(012) | 一般来说, 如果我们按下 i 进入编辑模式后,可以利用倒退键 (backspace) 来删除任意字符的。 但是,某些 distribution 则不许如此。此时,我们就可以通过 backspace 来设置啰~ 当 backspace 为 2 时,就是可以删除任意值;0 或 1 时,仅可删除刚刚输入的字符, 而无法删除原本就已经存在的文字了! |
| :set all | 显示目前所有的环境参数设置值。 |
| :set | 显示与系统默认值不同的设置参数, 一般来说就是你有自行变动过的设置参数啦! |
| :syntax on :syntax off | 是否依据程序相关语法显示不同颜色? 举例来说,在编辑一个纯文本文件时,如果开头是以 # 开始,那么该列就会变成蓝色。 如果你懂得写程序,那么这个 :syntax on 还会主动的帮你除错呢!但是, 如果你仅是编写纯文本,要避免颜色对你的屏幕产生的干扰,则可以取消这个设置 。 |
| :set bg=dark :set bg=light | 可用以显示不同的颜色色调,默认是“ light ”。如果你常常发现注解的字体深蓝色实在很不容易看, 那么这里可以设置为 dark 喔!试看看,会有不同的样式呢! |
总之,这些设置值很有用处的啦!但是......我是否每次使用 vim 都要重新设置一次各个参数值? 这不太合理吧?没错啊!所以,我们可以通过配置文件来直接规定我们习惯的 vim 操作环境呢! 整体 vim 的设置值一般是放置在 /etc/vimrc 这个文件,不过,不建议你修改他! 你可以修改 ~/.vimrc 这个文件 (默认不存在,请你自行手动创建!),将你所希望的设置值写入! 举例来说,可以是这样的一个文件:
```
[dmtsai@study ~]$ vim ~/.vimrc
"这个文件的双引号 (") 是注解
set hlsearch "高亮度反白
set backspace=2 "可随时用倒退键删除
set autoindent "自动缩排
set ruler "可显示最后一列的状态
set showmode "左下角那一列的状态
set nu "可以在每一列的最前面显示行号啦!
set bg=dark "显示不同的底色色调
syntax on "进行语法检验,颜色显示。
```
在这个文件中,使用“ set hlsearch ”或“ :set hlsearch ”,亦即最前面有没有冒号“ : ”效果都是一样的! 至于双引号则是注解符号!不要用错注解符号,否则每次使用 vim 时都会发生警告讯息喔! 创建好这个文件后,当你下次重新以 vim 编辑某个文件时,该文件的默认环境设置就是上头写的啰~ 这样,是否很方便你的操作啊!多多利用 vim 的环境设置功能呢!^_^
### 9.3.6 vim 常用指令示意图
为了方便大家查询在不同的模式下可以使用的 vim 指令,鸟哥查询了一些 vim 与 Linux 教育训练手册, 发现下面这张图非常值得大家参考!可以更快速有效的查询到需要的功能喔!看看吧!
![vim 常用指令示意图](https://box.kancloud.cn/2016-05-13_573573764d633.jpg)图9.3.10、vim 常用指令示意图
- 鸟哥的Linux私房菜:基础学习篇 第四版
- 目录及概述
- 第零章、计算机概论
- 0.1 电脑:辅助人脑的好工具
- 0.2 个人电脑架构与相关设备元件
- 0.3 数据表示方式
- 0.4 软件程序运行
- 0.5 重点回顾
- 0.6 本章习题
- 0.7 参考资料与延伸阅读
- 第一章、Linux是什么与如何学习
- 1.1 Linux是什么
- 1.2 Torvalds的Linux发展
- 1.3 Linux当前应用的角色
- 1.4 Linux 该如何学习
- 1.5 重点回顾
- 1.6 本章习题
- 1.7 参考资料与延伸阅读
- 第二章、主机规划与磁盘分区
- 2.1 Linux与硬件的搭配
- 2.2 磁盘分区
- 2.3 安装Linux前的规划
- 2.4 重点回顾
- 2.5 本章习题
- 2.6 参考资料与延伸阅读
- 第三章、安装 CentOS7.x
- 3.1 本练习机的规划--尤其是分区参数
- 3.2 开始安装CentOS 7
- 3.3 多重开机安装流程与管理(Option)
- 3.4 重点回顾
- 3.5 本章习题
- 3.6 参考资料与延伸阅读
- 第四章、首次登陆与线上求助
- 4.1 首次登陆系统
- 4.2 文字模式下指令的下达
- 4.3 Linux系统的线上求助man page与info page
- 4.4 超简单文书编辑器: nano
- 4.5 正确的关机方法
- 4.6 重点回顾
- 4.7 本章习题
- 4.8 参考资料与延伸阅读
- 第五章、Linux 的文件权限与目录配置
- 5.1 使用者与群组
- 5.2 Linux 文件权限概念
- 5.3 Linux目录配置
- 5.4 重点回顾
- 5.5 本章练习
- 5.6 参考资料与延伸阅读
- 第六章、Linux 文件与目录管理
- 6.1 目录与路径
- 6.2 文件与目录管理
- 6.3 文件内容查阅
- 6.4 文件与目录的默认权限与隐藏权限
- 6.5 指令与文件的搜寻
- 6.6 极重要的复习!权限与指令间的关系
- 6.7 重点回顾
- 6.8 本章习题:
- 6.9 参考资料与延伸阅读
- 第七章、Linux 磁盘与文件系统管理
- 7.1 认识 Linux 文件系统
- 7.2 文件系统的简单操作
- 7.3 磁盘的分区、格式化、检验与挂载
- 7.4 设置开机挂载
- 7.5 内存交换空间(swap)之创建
- 7.6 文件系统的特殊观察与操作
- 7.7 重点回顾
- 7.8 本章习题 - 第一题一定要做
- 7.9 参考资料与延伸阅读
- 第八章、文件与文件系统的压缩,打包与备份
- 8.1 压缩文件的用途与技术
- 8.2 Linux 系统常见的压缩指令
- 8.3 打包指令: tar
- 8.4 XFS 文件系统的备份与还原
- 8.5 光盘写入工具
- 8.6 其他常见的压缩与备份工具
- 8.7 重点回顾
- 8.8 本章习题
- 8.9 参考资料与延伸阅读
- 第九章、vim 程序编辑器
- 9.1 vi 与 vim
- 9.2 vi 的使用
- 9.3 vim 的额外功能
- 9.4 其他 vim 使用注意事项
- 9.5 重点回顾
- 9.6 本章练习
- 9.7 参考资料与延伸阅读
- 第十章、认识与学习BASH
- 10.1 认识 BASH 这个 Shell
- 10.2 Shell 的变量功能
- 10.3 命令别名与历史命令
- 10.4 Bash Shell 的操作环境:
- 10.5 数据流重导向
- 10.6 管线命令 (pipe)
- 10.7 重点回顾
- 10.8 本章习题
- 10.9 参考资料与延伸阅读
- 第十一章、正则表达式与文件格式化处理
- 11.1 开始之前:什么是正则表达式
- 11.2 基础正则表达式
- 11.3 延伸正则表达式
- 11.4 文件的格式化与相关处理
- 11.5 重点回顾
- 11.6 本章习题
- 11.7 参考资料与延伸阅读
- 第十二章、学习 Shell Scripts
- 12.1 什么是 Shell scripts
- 12.2 简单的 shell script 练习
- 12.3 善用判断式
- 12.4 条件判断式
- 12.5 循环 (loop)
- 12.6 shell script 的追踪与 debug
- 12.7 重点回顾
- 12.8 本章习题
- 第十三章、Linux 帐号管理与 ACL 权限设置
- 13.1 Linux 的帐号与群组
- 13.2 帐号管理
- 13.3 主机的细部权限规划:ACL 的使用
- 13.4 使用者身份切换
- 13.5 使用者的特殊 shell 与 PAM 模块
- 13.6 Linux 主机上的使用者讯息传递
- 13.7 CentOS 7 环境下大量创建帐号的方法
- 13.8 重点回顾
- 13.9 本章习题
- 13.10 参考资料与延伸阅读
- 第十四章、磁盘配额(Quota)与进阶文件系统管理
- 14.1 磁盘配额 (Quota) 的应用与实作
- 14.2 软件磁盘阵列 (Software RAID)
- 14.3 逻辑卷轴管理员 (Logical Volume Manager)
- 14.4 重点回顾
- 14.5 本章习题
- 14.6 参考资料与延伸阅读
- 第十五章、例行性工作调度(crontab)
- 15.1 什么是例行性工作调度
- 15.2 仅执行一次的工作调度
- 15.3 循环执行的例行性工作调度
- 15.4 可唤醒停机期间的工作任务
- 15.5 重点回顾
- 15.6 本章习题
- 第十六章、程序管理与 SELinux 初探
- 16.1 什么是程序 (process)
- 16.2 工作管理 (job control)
- 16.3 程序管理
- 16.4 特殊文件与程序
- 16.5 SELinux 初探
- 16.6 重点回顾
- 16.7 本章习题
- 16.8 参考资料与延伸阅读
- 第十七章、认识系统服务 (daemons)
- 17.1 什么是 daemon 与服务 (service)
- 17.2 通过 systemctl 管理服务
- 17.3 systemctl 针对 service 类型的配置文件
- 17.4 systemctl 针对 timer 的配置文件
- 17.5 CentOS 7.x 默认启动的服务简易说明
- 17.6 重点回顾
- 17.7 本章习题
- 17.8 参考资料与延伸阅读
- 第十八章、认识与分析登录文件
- 18.1 什么是登录文件
- 18.2 rsyslog.service :记录登录文件的服务
- 18.3 登录文件的轮替(logrotate)
- 18.4 systemd-journald.service 简介
- 18.5 分析登录文件
- 18.6 重点回顾
- 18.7 本章习题
- 18.8 参考资料与延伸阅读
- 第十九章、开机流程、模块管理与 Loader
- 19.1 Linux 的开机流程分析
- 19.2 核心与核心模块
- 19.3 Boot Loader: Grub2
- 19.4 开机过程的问题解决
- 19.5 重点回顾
- 19.6 本章习题
- 19.7 参考资料与延伸阅读
- 第二十章、基础系统设置与备份策略
- 20.1 系统基本设置
- 20.2 服务器硬件数据的收集
- 20.3 备份要点
- 20.4 备份的种类、频率与工具的选择
- 20.5 鸟哥的备份策略
- 20.6 灾难复原的考虑
- 20.7 重点回顾
- 20.8 本章习题
- 20.9 参考资料与延伸阅读
- 第二十一章、软件安装:源代码与 Tarball
- 20.1 开放源码的软件安装与升级简介
- 21.2 使用传统程序语言进行编译的简单范例
- 21.3 用 make 进行宏编译
- 21.4 Tarball 的管理与建议
- 21.5 函数库管理
- 21.6 检验软件正确性
- 21.7 重点回顾
- 21.8 本章习题
- 21.9 参考资料与延伸阅读
- 第二十二章、软件安装 RPM, SRPM 与 YUM
- 22.1 软件管理员简介
- 22.2 RPM 软件管理程序: rpm
- 22.3 YUM 线上升级机制
- 22.4 SRPM 的使用 : rpmbuild (Optional)
- 22.5 重点回顾
- 22.6 本章习题
- 22.7 参考资料与延伸阅读
- 第二十三章、X Window 设置介绍
- 23.1 什么是 X Window System
- 23.2 X Server 配置文件解析与设置
- 23.3 显卡驱动程序安装范例
- 23.4 重点回顾
- 23.5 本章习题
- 23.6 参考资料与延伸阅读
- 第二十四章、Linux 核心编译与管理
- 24.1 编译前的任务:认识核心与取得核心源代码
- 24.2 核心编译的前处理与核心功能选择
- 24.3 核心的编译与安装
- 24.4 额外(单一)核心模块编译
- 24.5 以最新核心版本编译 CentOS 7.x 的核心
- 24.6 重点回顾
- 24.7 本章习题
- 24.8 参考资料与延伸阅读