《鸟哥的Linux私房菜》第四版导学

鸟哥的Linux私房菜

0、计算机概论

0.1、电脑:辅助人脑的好工具(什么是电脑?什么是计算机a3)

  • 0.1.1、电脑硬件的五大单元(电脑硬件大致可分为三个部分b3)(什么是CPU a4)(CPU主要的组成部分b4)(算术逻辑单元的功能c4)(控制单元的功能d4)(CPU读取的数据来源e4)(电脑硬件的五个组成部分f4)(数据在内存流动的基本知识g4)
  • 0.1.2、一切设计的起点:CPU架构(常见的两种CPU架构a5)(世界上使用最广的CPU b5)(常见的RISC指令集CPU c5)(常见的CISC指令集CPU d5)(关于32位CPU和64位CPU的说明,见辅助文档)(不同x86的CPU有何不同f5)(Intel/AMD的x86架构中的重要指令g5,见辅助文档)
  • 0.1.3、其他单元的设备(主机中各个设备如何被连接和控制a6)(系统单元主要组成成分b6)(存储单元主要组成成分e6)(输入输出单元常见的设备c6)
  • 0.1.4、运作流程(每个电脑部件和人体器官的关系d6)
  • 0.1.5、电脑的分类(以电脑复杂度与计算能力将电脑进行分类a7)
  • 0.1.6、电脑上面常用的计算单位,包括容量、速度等(K,M,G等单位在不同进制下的数值表示a8)(为什么500G的硬盘格式化只剩下460G a9)

0.2、个人电脑架构与相关设备组件(主板上的芯片组会影响计算机系统的性能b9)(早期的芯片组cd9,a11)

  • 0.2.1、执行脑袋运算与判断的CPU(什么是多内核a10)(进行电脑升级为什么要注意CPU针脚b10)(什么是CPU频率c10)(能不能单纯只用频率来衡量CPU速度d10)(什么是CPU架构?见辅助文档)(早期的CPU设计中,什么是外频?什么是内频?外频、内频和CPU频率三者的关系b11)(Intel和AMD如何解决所有数据被北桥卡死的问题c11)(内存的工作频率受CPU中的内存控制器限制d11)(什么是CPU的字长a12)(x86-64的兼容性b12)(如何实现超线程c12)
  • 0.2.2、内存(个人电脑的内存组件为DRAM a13)(SDRAM和DDR SDRAM的型号与频率及带宽之间的关系c13)(内存容量和速度的重要性d13)(什么是多通道设计b13)(什么是二级缓存设计概念a14,b14)(CMOS如何读取和更新c14)(BIOS的作用de14)(什么事固件?f14)
  • 0.2.3、显卡(关于显卡的简介ab15)(什么是GPU,见辅助文档)(不同插槽规格的显卡d15)(PCle插槽显卡的处理模式及规格e15)(假设显示器使用1024*768分辨率,且使用全彩,每个像素占用3B的容量,至少需要多少内存才能使用这样的饱和度?c15)
  • 0.2.4、硬盘与存储设备(硬盘的组成成分a16)(磁盘的操作原理b16)(什么是扇区a17)(什么是磁道b17)(什么是柱面c17)(磁盘读写数据的默认方式d17)(磁盘传输接口的更迭g17)(SATA接口传输的细节e17)(SATA接口的各个版本f17)(SAS接口的各个版本d18)(USB接口的各个版本e18)(机械硬盘和固态硬盘的简称a18)(固态硬盘的优点b18)(固态硬盘的弊端c18)(选购硬盘时应该注意的问题a19)(关于硬盘的使用b19)
  • 0.2.5、扩展卡与接口(现在主板的插槽设计a20)(购买网卡时要查清楚接口的类型d20)
  • 0.2.6、主板(主板和扩充卡之间的小细节a21)(IO地址b21)(IRQ中断的作用c21)(CMOS和BIOS的功能和联系d21)(主板连接外置设备的接口e21)
  • 0.2.7、主机电源(主机电源的挑选a22)
  • 0.2.8、选购须知(关于速度瓶颈分析的例题a23,见辅助文档)(造成系统不稳定的原因b23)

0.3、数据表示方式

  • 0.3.1、数字系统(二进制的简介a24)
  • 0.3.2、字符编码系统(计算机如何记录文字bc24)(关于常用的英文编码系统ASCII d24)(关于中文编码系统Big5和GBK e24)(关于UTF-8编码a25)

0.4、软件程序运行

  • 0.4.1、机器语言程序与编译型程序(如何让CPU运行的原始方法及这么做的困难之处和解决方案bc25)
  • 0.4.2、操作系统(什么是操作系统a26,c27)(关于内核程序的说明b26)(软件,内核及硬件之间的关系ab27)(关于操作系统的一些细节d-f27)(操作系统内核的主要功能g27)(操作系统内核应具有的功能h27)(如何驱动新的硬件a28)(操作系统与驱动程序的相关细节b28)
  • 0.4.3、应用程序

0.5、重点回顾a29

0.6、本章习题,见辅助文档

1、Linux是什么与如何学习

1.1、Linux是什么

  • 1.1.1、Linux是什么?操作系统 / 应用程序?(Linux是什么a33)(同一个操作系统能否在不同的硬件平台上运行b33)(什么是软件移植?c33)(Windows能否在苹果的Mac计算机上安装运行d33)(Windows是x86架构的计算机专属操作系统a34)(Linux是否具有可移植性?b34)
  • 1.1.2、Linux之前,UNIX的历史
  • 1.1.3、关于GNU计划、自由软件与开放源代码

1.2、托瓦兹的Linux的发展

  • 1.2.1、与Minix之间
  • 1.2.2、对386硬件的多任务测试
  • 1.2.3、初次发布Linux 0.02
  • 1.2.4、Linux的发展:虚拟团队的产生
  • 1.2.5、Linux的内核版本
  • 1.2.6、Linux发行版(如何选择适合自己的Linux发行版a51)

1.3、Linux当前应用的角色

  • 1.3.1、企业环境的使用(企业环境下Linux的用途abc52)
  • 1.3.2、个人环境的使用(Linux在个人环境中的应用a53,ab54)
  • 1.3.3、云端应用(什么是虚拟化a55)

1.4、Linux该如何学习

  • 1.4.1、从头学习Linux基础(学习Linux的建议a56)
  • 1.4.2、选择一本易读的工具书(阅读本书之后的推荐书籍a57)
  • 1.4.3、实践再实践(Linux实践经验分享a58)
  • 1.4.4、发生问题怎么处理(查询一些问题解决网站b58)(注意信息输出,自行解决问题a59)(讨论区发言,询问大牛解决方案b59)(Netman大大的建议c59)
  • 1.4.5、鸟哥的建议,重点在solution的学习

1.5、重点回顾

1.6、本章习题(见辅助文档)

2、主机规划与磁盘分区

2.1、Linux与硬件的搭配(针对Linux内核应该如何选择硬件ab64)

  • 2.1.1、认识计算机的硬件设备(游戏用途计算机硬件的考虑c64)(办公用途的计算机硬件考虑d64)(如何从性价比考虑硬件e64)(每瓦性能的含义a65)(从支持度方面考虑硬件b65)
  • 2.1.2、选择与Linux搭配的主机设备(早期被淘汰或者元件老化的计算机会不会出现运行问题?c65)(Linux运行所需要的硬件设备配置不需要太高d65)(Linux用作小型服务器,无大量计算,无图形用户界面是的配置要求ef65,acdef66)(什么是磁盘阵列?b66)(一般小型主机且不含X-Window系统配置g66)(桌面型Linux系统含有X-Windows配置要求h66)(中型以上Linux服务器i66)(Linux对硬件支持的查询网站a67)
  • 2.1.3、各硬件设备在Linux中的文件名(Linux系统中的硬件设备配置文件在哪个目录内?b67)(常见设备在Linux中对应的文件名a68)(Linux中的设备文件名查询网站b68)
  • 2.1.4、使用虚拟机学习(Winidows系统推荐的虚拟化软件是VirtualBox ce68)(Linux系统推荐的虚拟化软件d68,a69)

2.2、磁盘分区(Linux系统安装在计算机的那个组件中b69)

  • 2.2.1、磁盘连接方式与设备文件名的关系(常见的磁盘接口是什么?c69)(正常物理机器的磁盘文件名和虚拟机使用的磁盘文件名的区别d69)(例题e69)(如何决定SATA和USB接口的设备文件名g69)(例题f69)(是否每个扇区都一样重要a70)(两种磁盘分区格式MBR和GPT简介b70)
  • 2.2.2、MBR与GPT磁盘分区表(关于文件系统的最小单位和分区的最小单位的说明c70)(MBR格式第一个扇区记录的内容d70)(磁盘分区表的作用示意图a71)(关于MBR磁盘分区的重要知识b71)(为什么要进行磁盘分区?cd71)(MBR分区表只有四组记录区,是否只能分四个分区呢?e71)(使用扩展分区划分更多的分区示意图f71,ab72)(MBR分区格式中的各个分区对应Linux系统中的设备文件名是什么?c72)(MBR分区格式中主要分区、扩展分区与逻辑分区的特性d72)(关于磁盘合并的细节的例题a73)(MBR格式的磁盘第一扇区如果损坏会有什么影响b73)(关于磁盘分区的例题c73,a74)(MBR格式的弊端a75)(GPT分区表格式简介bc75)(GPT分区表的结构示意图d-g75)(GPT格式总结h75)
  • 2.2.3、启动流程中的BIOS与UEFI启动检测程序(两种计算机启动程序a76)(关于CMOS和BIOS的说明b76)(BIOS启动硬盘的过程cde76)(BIOS启动GPT格式硬盘的说明f76)(使用grub启动引导程序的细节a77)(启动引导程序的主要任务b77)(计算机能不能具有两个以上的启动引导程序c77)(MBR内的可同时识别两个操作系统的启动引导程序工作流程图de77)(为什么Linux和Windows双系统的时候要先安装Windows a78)(BIOS的弊端以及UEFI的产生bc78)(BIOS与UEFI的差异d78)(UEFI的缺陷ab79)(关于UEFI安全性c79)
  • 2.2.4、Linux安装模式下,磁盘分区的选择(根目录的表示d79)(如何将目录树架构与磁盘内的数据结合a80)(什么是挂载b80)(目录树与分区之间的相关性图c80)(如何判断一个文件位于哪个分区a81)(区分Linux挂载和Windows分区代号的例题b81)(发行版安装时,挂载点与磁盘分区的规划c-f81)

2.3、安装Linux前的规划

  • 2.3.1、选择适当的Linux发行版
  • 2.3.2、主机的服务规划与硬件的关系
  • 2.3.3、主机硬盘的主要规划(什么是数据安全?a84)
  • 2.3.4、鸟哥的两个实际案例(家用小型Linux服务器,IP共享与文件共享中心a85)(提供Linux的PC集群a86)

2.4、重点回顾

2.5、本章习题(解答见辅助文档)

3、安装CentOS 7.x

3.1、本练习机的规划,尤其是分区参数(练习机的规划abc89,ab90)

4、首次登陆与在线求助

4.1、首次登陆系统

  • 4.1.1、首次登陆Centos 7.x 图形用户界面模式
  • 4.1.2、GNOME的操作与注销(Linux系统上登陆某个帐号的家目录路径是什么?a120)(一般目录、含链接文件的目录以及不可访问目录的图像表示a122)(重新启动X Windows的简单方法a124)
  • 4.1.3、X Windows与命令行模式的切换(Linux默认情况下会提供六个终端来让用户登陆,切换的快捷键是什么b124)(Linux默认情况下会提供六个终端来让用户登陆,各个终端的命名规则是什么?c124)(关于centsos 7环境下默认提供的六个终端启动时的细节a125)(命令行模式启动X Windows的方法b125)(使用startx命令启动X Windows的细节c125)(什么是图形环境d125)
  • 4.1.4、在终端登陆Linux(家目录的表示符号是什么?a126)(命令行模式下如何注销Linuxb126)

4.2、命令行模式下命令的执行(什么是壳程序a127)

  • 4.2.1、开始执行命令(Linux中命令格式的说明b127)(关于输入命令后输出的结果是乱码的问题a128,见辅助文档)
  • 4.2.2、基础命令的操作(显示当前系统时间a129)(date命令的格式化案例c129)(命令中的选项前面是否都是“-”号b129)(cal指令显示日历的案例d129)(命令行模式的命令种类a131)
  • 4.2.3、重要的几个热键(Tab键的功能b131,a132)(ctrl + c功能b132)(ctrl + d功能c132)
  • 4.2.4、错误信息的查看(命令找不到可能的原因a133)

4.3、Linux系统的在线求助man page 与 info page

  • 4.3.1、命令的 --help 求助说明(怎么大致的了解一个命令的用法a134)
  • 4.3.2、man page(man显示界面的说明a-h135)(man page的功能a136)(man date查询的date用法界面中的DATE(1)是什么意思b136)(man page页面中命令后面常见的数字c136)(man page 大致分成几个部分d136)(如何使用man page a137)(如何在man page中查找字符串b137)(man page中常用的按键c137)(man page读取命令的说明文件的储存目录c138)(如何查询与某个命令相关的的说明文件a138,a139)(如何查询与某个关键字相关的说明文件b138,b139)
  • 4.3.3、info page(info page的特色c139)(info格式的说明文件存放的路径d139)(info page第一行数据的意义a140)(如果不知道怎么使用info page时的办法b140)(info page的操作指南c140)
  • 4.3.4、其他有用的文件(某些软件的说明文件存放路径a141)(man、info、/usr/share/doc/使用总结b141)

4.4、超简单的文本编辑器:nano(nano中的组合按键a142)

4.5、正确的关机方法(为什么Linux不能像Windows长按4秒后关机ab143)(如何观察系统的使用状态c143)(通知在线用户关机的时刻d143)(正确的关机命令使用e143,abcd144,ef145)(shutdown的语法d144)(关于reboot、halt、poweroff e145)(关于init命令的说明g145)(目前系统中所有服务管理的命令systemctl f145)

4.6、重点回顾

4.7、本章习题(解答见辅助文档)

5、Linux的文件权限与目录配置

5.1、用户与用户组(为什么要有用户与用户组功能?a150)(文件拥有着为什么很重要?b150)(用户组最有用的功能是什么?cd150)(每个帐号能不能由多个用户组支持?e150)(用户与用户组概念的举例说明f150)(用户、用户组、其他人的图示说明a151)(默认情况下,Linux上所有的帐号、一般身份用户和root的相关信息、帐号密码以及所有组名分别记录在哪个目录内b151)

5.2、Linux文件权限概念

  • 5.2.1、Linux文件属性(以root权限执行ls -al命令的说明ab152)(关于ls -al命令输出的第一栏文件类型和权限的说明a153)(关于ls -al命令输出第二栏的文件被链接数的说明a154)(关于ls -al命令输出第三栏文件或目录拥有者的说明b154)(关于ls -al命令输出第四栏所属用户组的说明c154)(关于ls -al命令输出第五栏文件容量大小的说明d154)(关于ls -al命令输出第六栏文件创建或修改日期的说明e154)(关于ls -al命令输出第七栏文件名的说明f154)(对于一个目录,如果一个用户对于他的权限是只读,不能写不可执行,那么他能不能进入到该目录中a155)(Linux文件权限的重要性b-d155)
  • 5.2.2、如何修改文件属性与权限(关于如何创建新的用户以及将用户添加到某个用户组的操作,见辅助文档)(修改文件或目录的用户组a156)(chgrp命令常用的选项和参数d156)(chgrp命令常见的范例e156)(修改文件拥有者bc156,a157)(chown命令常见的选项和参数f156)(chown命令的范例g156)(需要修改文件所属用户和所属用户组的常见情况b157)(权限的设置有哪两种方法c157)(读写执行三种权限对应的数字分别是什么d157)(三种身份的权限如何用数字表示e157)(chmod命令使用数字方式修改权限的选项和参数f157)(chmod命令使用数字方式修改权限的范例g157)(使用符号类型修改文件权限a158)(使用符号类型修改文件权限实践b158)
  • 5.2.3、目录与文件的权限意义(权限对于文件的意义d159)(Windows中的文件是否可以执行通过什么来判断a159)(Linux中的文件是否可以执行通过什么来判断b159)(具有w权限是否能狗删除文件本身c159)(权限对于目录的意义e159)(对文件和目录权限的总结a160)(如果对于某个目录的权限没有x能不能进入到该目录中?b160)(如果要开放目录给别人浏览应该怎么做?c160)(经典例题:某个用户家目录下有一个文件,但该用户对该文件没有rwx权限,能不能将其删除?d160)(用户对于文件与目录操作的最低权限的举例a162)
  • 5.2.4、Linux文件种类与扩展名(关于常规文件的说明a-d163)(关于目录文件的说明e163)(关于链接文件的说明f163)(关于设备与设备文件的说明g163)(关于数据接口文件的说明h163)(关于数据输送文件的说明i163)(关于一个Linux文件能不能执行的说明jk163)(可以被执行与能否执行成功是不是一回事?a164)(关于脚本或批处理文件的扩展名b164)(网页相关文件的扩展名d164)(Linux中文件名长度限制是多少?e164)(Linux中文件名命名的规范f164)

5.3、Linux目录配置

  • 5.3.1、Linux目录配置的依据——FHS(FHS标准的主要目的是什么a165)(FHS将目录分为四种交互作用的形态,这四种分别是什么?b165)(关于root在Linux中含义的说明a166)(关于FHS针对目录树架构定义的三层目录的说明c165)(根目录“/”的意义与内容b166)(FHS规定根目录中必须存放的目录c-i166,a-g167)(FHS规定根目录中可以存放的目录hij167)(Linux中其他非常重要的目录k-m167)(/usr的意义与内容a168)(FHS要求/user目录必须要存在的目录b-f168)(FHS建议/user目录可以存在的目录g-k168)(/var的意义与内容l168)(FHS要求/var目录必须要存在的目录a-g169)
  • 5.3.2、目录树(什么是目录树?h169)(目录树有哪些特性a170)(目录树架构图b170)(根据FHS定义最好将/var独立出来c170)
  • 5.3.3、绝对路径与相对路径(绝对路径与相对路径d170,a171)(网络文件中的./run.sh之类的命令意义是什么?a172)
  • 5.3.4、Centof的观察(如何查看内核与LSB所需求的几种重要标准b172)

5.4、重点回顾

5.5、本章练习(解答见辅助文档)

6、Linux文件与目录管理

6.1、目录与路径

  • 6.1.1、相对路径与绝对路径(什么是相对路径与绝对路径?a176)
  • 6.1.2、目录的相关操作(一些比较特殊的目录b176)(根目录下是否存在“…”目录a177)(关于切换目录命令cd的说明bcd177)(关于显示目录命令pwd的说明a178)(关于创建新目录命令mkdir的说明bc178)(关于删除空目录命令rmdir的说明a179)
  • 6.1.3、关于执行文件路径的变量:$PATH(为什么使用命令的时候直接输入命令名称而不需要输入完整的路径bce179)(PATH变量保存的内容是什么?d179)(如何取出shell中的变量的值,见辅助文档)(关于更改命令所属目录之后如何让命令运行的例题a180)(如果PATH中的目录下有多个重名文件谁先被执行b180)(是否应该在PATH变量中加入“.”本目录?c180)(对于PATH的总结a181)

6.2、文件与目录管理

  • 6.2.1、文件与目录的查看:ls(命令ls常用的选项a-f181))(命令ls常用的范例a-d182)(Linux中关于文件权限、属性有关的数据存放在哪?e182)
  • 6.2.2、复制、删除与移动:cp、rm、mv(命令cp常用的参数abc183)(命令cp常用的范例de183,a-f184)(关于软硬链接的说明,见辅助文档)(使用cp命令注意点的总结a185)(默认情况下cp命令的目标文件的所属用户是谁?f183)(进行特殊权限文件的复制的处理细节g183)(关于命令rm常见的选项和参数e185)(命令rm常用的范例bc185)(关于命令rm的细节说明d185)(mv命令的选项和参数f186)(关于mv命令的使用范例a-c186)(关于mv的使用说明d186)
  • 6.2.3、获取路径的文件名与目录名称(一个完整的文件名中如何获取他的目录名和文件名e186)

6.3、文件内容查看(各个查看文件内容的命令f186)

  • 6.3.1、直接查看文件内容(cat命令常用的选项和参数a187)(cat命令用法范例b-d187)(tac命令的范例a188)(nl命令的常用选项与参数b188)(nl命令的范例c188)(关于nl命令的说明d188)
  • 6.3.2、可翻页查看(more命令的使用说明a189)(less命令的使用说明b189)
  • 6.3.3、数据截取(head命令的选项和参数a190)(关于head命令的说明b190)(tail命令的选项和参数c190)(关于tail的范例d190)(如果要显示某个文件11~20行的数据应该怎么办?a191)(如果要显示某个文件11~20行的数据并且显示行号应该怎么办?b191)
  • 6.3.4、非纯文本文件:od(od命令的选项和参数c191)(od命令的范例d191)(关于od命令的说明a192)(如何通过命令的方式查询某个字符串的对照?b192)
  • 6.3.5、修改文件时间或创建新文件:touch(Linux中文件的三个主要的变动时间c192)(如何通过ls命令查看三种变动时间d192)(touch命令的选项和参数a193)(不同的命令之间通过分号进行分割会如何被执行?b193)(touch命令的范例abc193,a194)(关于touch指令的使用总结b194)

6.4、文件与目录的默认权限与隐藏权限

  • 6.4.1、文件默认权限:umask(什么是umask?a195)(如何查看umask的值bc195)(文件与目录的默认权限d195)(umask与文件和目录默认权限的关系e195)(如何改变umask的值b196)(umask的重要性a196)(如何根据umask计算文件和目录的权限例题c196)
  • 6.4.2、文件的隐藏属性(chattr命令的使用范围a197)(chattr命令的选项和参数a197)(chattr命令的范例cd197)(chattr对于系统安全性的重要性e197)(lsattr命令的选项和参数f197)(lsattr命令的范例g197)(关于lsattr命令的说明h197)
  • 6.4.3 文件特殊权限:SUID、SGID、SBIT(文件拥有者的执行权限栏出现s字符是什么类型的特殊权限?a198)(SUID特殊权限的特殊功能是什么?b198)(关于SUID特殊权限举例说明c198)(SUID特殊权限的使用限制说明a199)(文件所属组的执行权限栏出现s字符是什么类型的特殊权限?b199)(SGID特殊权限的特殊功能是什么?ce199)(关于SUID特殊权限举例说明d199)(SBIT特殊权限的适用范围f199)(SBIT特殊权限对于目录的作用g199)(SBIT特殊权限的举例说明h199)(如何设置SUID、SGID和SBIT权限设置abe200)(使用SUID、SGID和SBIT特殊权限的细节c200)(使用特殊权限的时候为什么s和t会出现大写S和T d200)
  • 6.4.4、观察文件类型:file(如何查看文件的类型f200)(file命令的使用说明g200)

6.5、命令与文件的查找

  • 6.5.1、脚本文件的查找(which命令常用的参数a201)(which命令的使用范例b201)(关于which命令的使用的细节c201)(为什么which找不到history命令?d201)
  • 6.5.2、文件的查找(使用常用文件查找命令的步骤e201)(whereis命令常用的选项和参数a202)(whereis命令的使用范例b202)(为什么whereis命令的查询速度比find命令快?c202)(locate命令的选项与参数d202)(locate命令的使用范例e202)(locate命令的查询原理a203)(locate命令的使用限制b203)(locate命令与更新数据命令的结合使用c203)(find命令的选项与参数de203,a204,a205)(find命令的常用范例f203,bd204,b205)(关于find命令的时间参数的图示说明g203)(什么情况下会产生没有所属用户和所属用户组的文件?c204)(关于find中-exec选项的使用和运行原理c205)

6.6、极重要的复习,权限与命令间的关系(让用户能进入某目录成为可工作目录的基本权限是什么?d205)(用户在某个目录内读取一个文件的基本权限是什么?e205)(让用户可以修改一个文件的基本权限是什么?f205)(让一个用户可以建立一个文件的基本权限是什么?a206)(让用户进入某个目录并执行该目录下的某个命令的基本权限是什么?b206)

6.7、重点回顾

6.8、本章习题(情景模拟题:关于SGID特殊权限的用途a207)(解答见辅助文档)

7、Linux 磁盘与文件系统管理

7.1、认识Linux文件系统

  • 7.1.1、磁盘组成与分区的复习(磁盘的主要组成a210)(碟片的物理组成b210)(关于磁盘文件名的说明c210)(关于磁盘分区的说明d210)
  • 7.1.2、文件系统特性(为什么磁盘分区后需要进行格式化a211)(格式化对象的转变b211)(文件系统是如何运行的c-f211)(关于索引式文件系统的图示说明f211)(关于文件系统碎片整理的说明g211)
  • 7.1.3、Linux的ext2文件系统,即inode(inode记录文件的什么内容?a212)(数据区块记录文件的什么内容?b212)(ext2文件系统将inode和数据区块规划好之后是否会继续变动c212)(如果文件系统高达上百GB,那么是否应该将inode和数据区块放置在一起d212)(ext2文件系统的整体规划e212)(ext2文件系统所支持的数据区块大小有哪几种?f212)(ext2文件系统不同的数据区块对最大磁盘容量与最大单一文件容量的限制g212)(ext2文件系统格式化示意图h212)(ext2文件系统的基本限制有哪些?a213)(inode表记录的信息有哪些?b213)(inode表的特色a214)(inode结构示意图b214)(关于inode表能够记录文件最大容量的计算c214)(超级区块记录的信息主要有什么?a215)(关于超级区块的简要说明bc215)(关于文件系统描述说明d215)(区块对照表e215)(inode对照表f215)(dumpe2fs命令的选项和参数a216)(dumpe2fs常见的范例b216,a217)
  • 7.1.4、与目录树的关系(Linux下的文件系统创建一个目录会分配给该目录什么?a217)(目录文件的区块记录的信息是什么?b217)(如何查看文件的inode号码?c217)(目录文件是否只会占一个区块a218)(ext2文件系统如何给一个文件分配区块?b218)(文件的inode是否会记录文件的文件名?c218)(为什么新增、删除、修改文件名与目录文件的w权限有关?cd218)(Linux读取某个目录下的文件的工作原理efg218)(什么是文件数据离散?a219)(如何解决文件数据离散的问题?b219)
  • 7.1.5、ext2/ext3/ext4 文件的存取与日志式文件系统的功能(文件系统新建一个文件的原理步骤c219)(什么是数据存放区域?d219)(什么是元数据?e219)(元数据与实际数据存放区的数据不一致的情况举例f219)(日志式文件系统处理文件系统元数据与实际数据存放区的数据不一致问题的原理ab220)
  • 7.1.6、Linux文件系统的运行(什么Linux中的异步处理?异步处理可以解决什么问题cd220)(Linux系统上的文件系统与内存的关系e220)
  • 7.1.7、挂载点的意义(关于挂载的简要说明ab221)(关于为什么目录【/】、【/boot】和【/home】inode相同问题的说明,见辅助文档)
  • 7.1.8、其他Linux支持的文件系统与VFS(Linux支持的常见的文件系统c221)(如何查看自己安装的Linux支持的文件系统d221)(如何查看已加载到内存中支持的文件系统e221)(Linux内核如何管理这些可以被识别的文件系统f221)(VFS的示意图a222)
  • 7.1.9、XFS文件系统简介(为什么Centos7将默认的文件系统从ext4转变成xfs?b-e222)(xfs文件系统在数据的分布上主要规划为哪三个部分?a223)(关于xfs数据区的说明b223)(关于XFS文件系统的文件系统活动登陆区的说明c223)(关于XFS文件系统的实时运行区的说明d223)(如何查看XFS文件系统的描述数据,以及相关信息的解读a224)

7.2、文件系统的简单操作

  • 7.2.1、磁盘与目录的容量(关于df命令的选项和参数a225)(df命令常见的范例bcd225,a226)(关于df命令读取范围的说明b226)(关于df命令-a选项的说明c226)(关于df命令列出的/dev/shm/目录的说明d226)(关于du命令的选项和参数e226)(关于du命令常用的范例a227)(关于du命令的细节说明b227)
  • 7.2.2、硬链接与符号链接:ln(LInux下面有哪两种链接文件?d227)(关于文件名、文件内容和inode的说明a228)(关于硬链接原理的解释b228)(ll命令显示的文件信息第二栏的意义是什么?c228)(硬链接读取数据的示意图d228)(创建硬链接的好处e228)(关于硬链接是否会消耗磁盘容量的说明fg228)(硬链接使用时的限制a229)(符号链接的原理说明b229)(链接文件的内容说明c229)(链接文件大小的说明d229)(符号链接读取示意图的说明e229)(符号链接是否会占用内存f229)(关于ln命令的常用选项和参数a230)(关于ln命令的常见范例b230)(创建一个新的目录时,默认的链接数是多少?a231)

7.3、磁盘的分区、格式化、检验与挂载(在系统上增加一块磁盘需要进行哪些操作?b231)

  • 7.3.1、观察磁盘分区状态(lsblk命令常用的选项和参数a232)(lsblk命令常见的范例bce232)(lsblk命令显示的信息含义说明d232)(关于UUID,及即全局唯一标识的说明f232)(如何知道磁盘的分区类型a233)
  • 7.3.2、磁盘分区:gdisk / fdisk(对MBR和GPT格式进行分区分别使用什么命令?b233)(gdisk命令的常见使用方式c233)(gdisk命令的使用教学d233,a234)(gdisk命令查看磁盘的分区与相关的信息的范例d233,b234)(gdisk命令增加磁盘中的分区范例a235)(partprobe命令的常见使用方式a236)(使用gdisk删除一个分区范例b236)(使用gdisk命令需要注意的细节a237)
  • 7.3.3、磁盘格式化,即创建文件系统(文件系统格式化命令是什么?a238)(mkfs.xfs命令的常用选项和参数b238)(创建xfs文件系统的范例c238,a239)(xfs中的区块群组数为什么和CPU内核数有关?a239)(什么是磁盘阵列?b239)(给一个磁盘阵列格式化的案例分析d239)(mkfs.ext4命令常用的选项和参数a240)(mkfs.ext4命令常用的范例b240)(综合命令mkfs还支持哪些文件系统?a241)(如何将其他文件系统改成VFAT格式的文件系统b241)
  • 7.3.4、文件系统检验(xfs_repair命令常见的选项与参数c241)(xfs_repair命令常用的范例d241)(fsck.ext4命令的选项与参数a242)(fsck.ext4命令的范例b242)(关于xfs_repair和fsck.ext4命令的注意事项说明a243)
  • 7.3.5、文件系统挂载与卸载(mount命令的选项与参数c243)(Centos如何找出文件系统实现挂载ab244)(mount命令挂载xfs/ext4/vfat等文件系统的范例c244)(umount命令的选项和参数a246)(umount命令的常见范例b246)
  • 7.3.6、磁盘/文件系统参数自定义(文件是如何代表设备的?c246)(ll命令显示设备文件信息时哪些是major哪些是minor?d246)(常见的硬件设备代码a247)(mknod命令的选项和参数b247)(xfs_admin命令的作用是什么?d247)(xfs_admin命令的选项和参数e247)(xfs_admin命令常见的范例f247)(为什么挂载的时候要使用UUID而不直接使用设备文件名a248)(tune2fs命令常见的选项和参数b248)(tune2fs命令常用的范例c248)

7.4、设置启动挂载

  • 7.4.1、启动挂载/etc/fstab及/etc/mtab(关于系统挂载的一些限制的说明d248)(/etc/ftab文件的内容表示的含义a-e249,ab250)(如何设置启动挂载?c250,见辅助文档)(关于实际文件系统挂载记录的说明a251)(如果在修改/etc/fstab文件时数据格式输入错误了,应该怎么办?b251)
  • 7.4.2、特殊设备loop挂载,镜像文件不刻录就挂载使用(用的少暂时先不看)

7.5、内存交换分区(swap)之建立(关于swap分区的说明a253)

  • 7.5.1、使用物理分区创建内存交换分区(创建内存交换分区的几个步骤是什么?bc253)
  • 7.5.2、使用文件创建内存交换文件(之前关于特殊设备loop没看,先放着)

7.6、文件系统的特殊观察与操作

  • 7.6.1、磁盘空间之浪费问题(关于文件大小和占用区块的说明a255)
  • 7.6.2、利用GNU的parted进行分区操作(可选内容,时间有限,暂时不看)

7.7、重点回顾

7.8、本章习题(定期回顾情景模拟题,简答题见辅助文档)

8、文件与文件系统的压缩

8.1、压缩文件的用途与技术(文件压缩技术的作用是什么?a262)(关于文件压缩原理的说明bc262)(什么是解压所?d262)(什么是压缩比e262)(压缩和解压的好处是什么?f262)

8.2、Linux系统常见的压缩命令(Linux环境中常见的压缩文件扩展名ab263)(Linux中常见的压缩命令c263)(关于tar命令的简介d263)

  • 8.2.1、gzip,zcat/zmore/zless/zgrep(目前使用最广泛的压缩命令是什么?e263)(gzip的功能是什么?f263)(gzip命令的选项和参数a264)(gzip命令常用的范例b264)(gzip命令使用的细节c264)(关于gzip的-c选项和<符号的说明e264)(关于zcat/zmore/zless/zgrep的说明fg264)(如何将compress命令创建的.Z文件转化成gzip格式的文件a265)
  • 8.2.2、bzip2,bzcat/bzmore/bzless/bzgrep(bzip2命令常用的选项和参数b265)(bzip2命令常用的范例c265)
  • 8.2.3、xz,xzcat/xzmore/xzless/xzgrep(xz命令常用的选项和参数d265)(xz命令常见的范例a266)

8.3、打包命令:tar(gzip、bzip2、xz命令的缺陷a266)(什么是打包命令?b266)(tar命令的功能是什么?c266)(Windows能否支持.tar.gz格式的文件?d266)(tar命令常见的选项和参数e266)(tar命令的简单使用a267)(关于tar命令打包后的文件名命名b267)(tar命令的-f选项的使用细节c267)(tar命令解压常用的范例d267)(关于tar命令中的-p选项的说明a268)(tar查看文件内部的文件列表的范例b268)(为什么使用tar命令打包的目录中的文件路径名要将根目录“/”去掉?cd268)(关于tar命令中-P选项的使用说明e268)(tar命令解压的常用范例f268,a269)(tar命令解压单一文件的命令b269)(tar命令打包某个目录但不包括这个目录下的某个文件的范例c269)(tar命令备份比某个时刻还要新的文件a270)(什么是tarfile?b270)(什么是tarball?c270)(如何将数据备份到磁带中d270)(系统备份范例a271)

8.4、XFS文件系统的备份与还原

  • 8.4.1、XFS文件系统备份xfsdump(什么是增量备份?a272)(关于完整备份和增量备份关系示意图及其说明b272)(使用xfsdump命令时要注意的限制c272)(xfsdump命令常用的选项和参数d272)(xfsdump命令备份完整的文件系统的范例a273)(xfsdump命令进行增量备份的范例b273)
  • 8.4.2、XFS文件系统还原xfsrestore(xfsrestore命令常用的选项和参数a275)(xfsrestore查看xfsdump命令备份的数据内容b275)(如何恢复xfsdump备份的文件?a276)(xfsrestore恢复level 0文件系统的范例b276)(如何恢复增量备份数据?c276)(恢复增量备份数据的范例d276)(还原备份文件中的部分文件,通过交互的方式e276)

8.5、光盘写入工具(命令行模式下如何进行刻录a277)(用的太少了,碰到了在看)

  • 8.5.1、mkdisofs:建立镜像文件(mkisofs常见的选项和参数a278)(处理镜像文件的范例)
  • 8.5.2、cdrecord:光盘刻录工具

8.6、其他常见的压缩与备份工具

  • 8.6.1、dd(dd命令最好用的功能是什么?a282)(dd命令常用的选项和参数b282)(dd命令常用的范例c282,b283,a284)(使用dd命令的注意点a283)
  • 8.6.2、cpio(以后在看)

8.7、重点回顾

8.8、本章习题(都是情景题,关于如何备份和恢复xfs文件)

9、vim程序编辑器

9.1、vi与vim(什么是纯文本文件?ab290)(Linux中有哪些常见的命令行模式下的文本编辑器?c290)(学习vi的原因d290)(什么是vim?e290)(什么时候会使用到vim?a291)

9.2、vi的使用(vi分为哪三种模式?b291)(vi的三种模式的作用分别是什么?c-e291)(vi的三种模式的关系图fg291)

  • 9.2.1、简易执行范例(vi的常用范例a-d292,a293)(如果发现文件权限有问题,能不能强制写入?b293)
  • 9.2.2、按键说明(一般命令模式c293)(一般命令模式切换到编辑模式的按键说明a295)(一般命令模式切换到命令行模式的按键说明b295)(vi中关于数字的说明a296)(如何解决容易忘记vi命令的问题?b296)
  • 9.2.3、一个案例练习(定期回顾就行)
  • 9.2.4、vim的缓存、恢复与打开时的警告信息(vim进行数据恢复的原理是什么?a297)(关于vim数据恢复的练习b297)

9.3、vim的额外功能(使用vim的另一个理由a299)(关于vim界面示意图的说明b299)

  • 9.3.1、可视区块,即Visual Block(关于可视区块的例子a300)
  • 9.3.2、多文件编辑(多文件编辑的常用按键a301)(多文件编辑的案例b301)
  • 9.3.3、多窗口功能(关于多窗口功能的说明a302)(多窗口功能的常用按键b302)
  • 9.3.4、vim的关键词补全功能(vim关键字补全功能的按键a303)(vim关键字补全的使用范例b303)
  • 9.3.5、vim环境设置与记录:~/.vimrc、~/viminfo(关于.viminfo文件的说明a304)(关于vim环境设置的相关说明b304)(什么是缩进?c304)(vim常用的环境设置参数d304)(关于如何配置vim操作环境的说明a305)
  • 9.3.6、vim常用命令示意图

9.4、其他vim使用注意事项

  • 9.4.1、中文编码的问题(为什么vim有时候无法正常显示中文?a306)(如果显示出现乱码了该怎么办?b306)(如果需要打开的文件采用GBK编码,但终端并不是这种编码,此时应该怎么办?c306)
  • 9.4.2、DOS与linux的换行符(DOS建立的文件中的换行符与Linux中的换行符有什么区别?d306)(为什么换行符对于Linux影响很大?e306)(如果出现换行符不是Linux支持的LF该怎么办?f306)(dox2unix的常见选项和参数a307)
  • 9.4.3、语系编码转换(如何进行语系编码的转换c307)(如何将繁体中文utf-8转换成简体中文utf-8 a308)

9.5、重点回顾

9.6、本章练习(简答题见辅助文档)

10、认识与学习BASH

10.1、认识BASH这个Shell

  • 10.1.1、硬件、内核与Shell(如果要在计算机上播放音乐,计算机需要什么东西?a311)(硬件如何识别用户发出的命令?b311)(用户、内核与硬件三者的相关性c311)(关于操作系统的回顾d311)(关于壳程序的举例说明a312)(什么是壳程序?官方一点儿的说明b312)
  • 10.1.2、为何要学命令行模式的Shell?(学习Shell的原因cd312,a313)
  • 10.1.3、系统的合法Shell与/etc/shells功能(关于不同Shell版本的简介b313)(如何查询Centos7.x中我们可以使用的Shell?c313)
  • 10.1.4、Bash shell的功能(Bash的优点a-c314,a-c315)
  • 10.1.5、查询命令是否为Bash shell的内置命令:type(type命令的常见选项和参数d315)(type命令的常见范例e315)
  • 10.1.6、命令的执行与快速编辑按钮(命令太长对反斜杠’'的转义说明a316)(命令行模式中的一些快捷键b316)(关于用户使用shell的流程总结c316)

10.2、Shell的变量功能

  • 10.2.1、什么是变量?(什么是变量?a317,a318)(使用变量的好处,举例说明bcf317)(程序、变量与用户之间的关系,举例说明de317)(关于影响bash环境操作的变量的说明g317)(关于变量应用于脚本程序设计的方便性的说明h317)(如何显示变量?b318)
  • 10.2.2、变量的使用与设置:echo、变量设置规则、unset(echo命令的使用范例c318)(如何给变量赋值?d318)(bash中,若一个变量未被设置,他的默认内容是什么?e318,a319)(设置变量与取消设置变量的规则b319)(常见的设置变量的范例c319,bd320)(什么是子进程?以及变量与子进程和父进程之间的关系a320)(为什么鸟哥建议使用$(comman)来嵌套命令?c320)(如果经常需要进入一个很深的目录,如何使访问更加的简便?a321)
  • 10.2.3、环境变量的功能(环境变量总的来说有哪些作用?a322)(如何查看shell环境中有多少默认的环境变量?b322)(env命令的常用范例c322)(各个常见的环境变量各有哪些功能?d322)(如何查看所有的变量a323)(set命令的使用范例b323)(关于Linux中全大写字母的变量的说明c323)(关于环境变量和普通变量的区别,见辅助文档)(关于变量PS1的说明d323)(设置PS1值的例子a324)(关于$变量的说明b324)(关于 ? 变量的说明c324)(关于硬件与内核等级有关的变量的说明d324)(bash进程运行的基本原理a325)(进程与变量之间的关系b325)(如何将自定义变量变成环境变量c325)(如何显示所有的环境变量d325)
  • 10.2.4、影响显示结果的语系变量,即locale(如何显示出所有Linux支持的语系e325)(如何自定义语系编码?a326)(为什么终端界面在设置中文语系之后会出现乱码?b326)(Linux中的语系文件都放置在哪个儿?cd326)(为什么Windows下建立一个文件在Linux中打开变成了乱码?e326)
  • 10.2.5、变量的有效范围(关于变量的使用范围的说明ab327)(为什么环境变量可以被子进程引用?c327)(环境变量和bash的操作环境变量的区别d327)(关于环境变量和自定义变量的补充说明,见辅助文档)
  • 10.2.6、变量键盘读取、数组与声明:read、array、declare(什么命令可以读取来自键盘输入的数据?a328)(read命令常用的选项和参数b328)(read命令常用的范例c328)(declare命令的常用选项和参数d328)(declare命令常见的范例eg328)(bash中变量的几个基本定义f328)(如果将变量设置为只读,如果要删除这个变量应该怎么办?h329)(bash中如何来设置数组a329)(使用数组的范例b329)
  • 10.2.7、与文件系统及程序的限制关系:ulimit(bash如何限制用户的某些系统资源c329)(ulimit命令的常见选项和参数d329)(ulimit命令常见的范例e329)(如何限制用户可以创建的文件的大小a330)
  • 10.2.8、变量内容的删除、取代与替换(可选内容,时间紧,以后有时间再看)

10.3、命令别名与历史命令

  • 10.3.1、命令别名设置:alias、unalias(alias设置别名的语法规则ab334)(如何知道目前有哪些命令别名?c334)(如何取消命令别名?d334)(命令别名与变量有什么区别?a335)
  • 10.3.2、历史命令:history(history命令的选项和参数b335)(history命令常见的范例c335)(历史命令的读取与记录的原理是什么?d335)(利用历史命令信息来执行历史命令的常见范例a336)(关于history命令的安全性问题的说明b336)(关于同一个帐号同时被多次登陆history的写入问题的说明c336)(关于命令history无法记录时间的问题说明d336)

10.4、Bash shell的操作环境

  • 10.4.1、路径与命令查找顺序(同名命令的执行顺序的总结a337)(如何查询命令的执行顺序b337)
  • 10.4.2、bash的登陆与欢迎信息:/etc/issue、/etc/motd(关于储存终端登陆信息的/etc/issue文件中的内容的说明,以及和PS1变量的关系说明c337)(更改终端登录画面的例题a338)(关于/etc/issue.net文件的说明b338)(关于/etc/motd文件的说明c338)
  • 10.4.3、bash的环境变量文件(为什么一进入bash就会加载一些有用的变量?d338)(如何将自定义的变量设置成一进入bash就自动启动?a339)(什么是login shell?什么是non-login shell?b339)(login shell启动时会读取哪些配置文件c339)(关于/etc/profile文件的说明d339)(关于~/.bash_profile文件的说明a340)(login shell的读取流程图示和总结b340)(source命令的使用范例,包括不注销帐号即可让个人配置文件生效a341)(如果个人的家目录中的~/.bashrc不见了,命令行模式提示会变成什么样,如何进行恢复?c341)(关于/etc/man_db.conf这个配置文件的说明a342)(关于~/.bash_history配置文件的说明b342)(关于~/bash_logout配置文件的说明c342)
  • 10.4.4、终端的环境设置:stty、set(终端环境中输入错误信息会有提示音是因为什么?d342)(stty命令常用的选项和参数e342)(stty命令常用的范例f342)(如何通过命令stty来设置终端的快捷键?a343)(因为习惯问题如果在vim中输入了ctrl + s之后vim不能动了,应该怎么办?b343)(set命令常用的选项和参数c343)(set命令常见的范例d343)(关于bash终端环境使用上的一些建议a344)(bash终端环境中快捷键总结b344)
  • 10.4.5、通配符与特殊符号(bash操作环境下的通配符c344)(使用通配符的一些案例d344)(bash中的特殊符号的总结e344)(关于文件命名需要注意的点a345)

10.5、数据流重定向(概括的说什么是数据流重定向b345)

  • 10.5.1、什么是数据流重定向(命令执行过程的数据传输情况c345)(什么是标准输出?a346)(什么是标准错误输出?b346)(数据重定向中使用的特殊字符有哪些?c346)(数据重定向的常见范例di346,abd347)(关于标准输出重定向‘>‘的说明e346)(关于标准输出重定向’>>'的说明f346)(关于标准错误输出重定向’2>'和’2>>'的说明g346)(对标准输出重定向与标准错误输出重定向的小总结h346)(关于标准输入重定向‘<'的说明c347)(关于标准输入重定向‘<<'的说明a348)(为何要使用命令输出重定向b348)(数据重定向中关于‘1>&2’和’2>&1’的说明,见辅助文档)(关于2>&1和1>&2的例题c348)
  • 10.5.2、命令执行的判断根据:;、&&、||(关于不考虑命令相关性的连续命令执行的说明d348)(关于使用&&连接两个相关命令的执行说明a349)(关于使用||连接两个相关命令执行的说明b349)(关于&&和||连接相关命令的范例c349)(关于&&和||连接相关命令的例题及对例题的总结a350)

10.6、管道命令,即pipe(如果要将某个命令进行某种处理之后再输出应该怎么办?b350)(如何翻页查看某个目录中有哪些文件?a351)(关于管道命令能够处理的信息的说明b351)(管道命令的处理示意图c351)(什么是管道命令?d351)(如果要将标准错误输出作为下一个管道命令的标准输入应该怎么办?e351)

  • 10.6.1、选取命令:cut、grep(cut命令的作用f351,a352)(cut命令常用的选项和参数g351)(cut命令常见的范例h351)(cut命令的缺点b352)(grep命令作用ce352)(grep命名常用的选项和参数d352)
  • 10.6.2、排序命令:sort、wc、uniq(sort命令的简述a353)(sort命令常用的选项和参数b353)(sort命令常见的范例c353)(uniq命令常见的选项和参数d353)(uniq命令常用的范例e353)(wc命令的常见选项和参数a354)(wc命令的常用范例b354)
  • 10.6.3、双向重定向:tee(tee命令作用的简述c354)(tee命令的选项和参数d354)
  • 10.6.4、字符转换命令:tr、col、join、paste、expand(tr命令的作用a355)(tr命令常用的选项和参数b355)(tr命令常用的范例c355)(tr命令处理dos文件和unix文件格式转换时的巧妙之处d355)(col命令常用的选项和参数e355)(col命令常用的范例f355)(join命令的作用简述g355)(join命令常用的选项和参数a356)(join命令常见的范例b356)(join解决两个文件相关性的巧妙之处以及注意事项c356)(paste命令作用的简述d356)(paste命令常用的选项和参数e356)(paste命令常见的范例a357)(expand命令作用简述b357)(expand命令常用的选项与参数c357)(expand命令常见的范例de357)
  • 10.6.5、划分命令:split(split命令作用简述f357)(split命令常用的选项与参数g357)(split命令常见的范例h357)(split命令在发送有限制发送大小的邮件时的巧妙之处a358)
  • 10.6.6、参数代换:xargs(简述xargs命令的作用b358)(xargs命令常见的选项与参数)(xargs命令常用的范例d358,a359)(xargs命令的巧妙之处b359)
  • 10.6.7、关于减号【-】的用途(减号的常见范例c359)

10.7、重点回顾

10.8、本章习题(情景模拟题,关于图形界面注销用户无法执行.bash_logout文件中命令的说明,见辅助文档)

11、正则表达式与文件格式化处理

11.1、开始之前:什么是正则表达式(什么是正则表达式?a-c363)(正则表达式对于系统管理员的好处d363)(如何拦截广告邮件a364)(正则表达式的分类b364)(正则表达式与bash的通配符之间的区别c364)

11.2、基础的正则表达式

  • 11.2.1、语系对正则表达式的影响(为什么语系会对正则表达式的输出结果产生影响?a365)(为了避免编码造成的英文与数字选取问题的而生的特殊符号b365)
  • 11.2.2、grep的一些高级选项(grep常见的高级选项和参数c365)(grep常用的高级范例a366)(grep的作用b366)
  • 11.2.3、基础正则表达式练习(基础正则表示是常用范例和特殊符号说明a367)
  • 11.2.4、基础正则表达式字符集合,即characters(基础正则表达式的特殊字符集合a371)(正则表达式中的"*“与通配符中的”*"有什么区别?a372)(ls命令查找文件名与ls及grep搭配查找文件的区别a373)(ls搭配grep查找某个文件下所有链接文件的例题b373)
  • 11.2.5、sed工具(sed管道命令功能的简介c373)(sed命令常见的选项和参数d373)(sed命令常用的范例)

11.3、扩展正则表达式(关于扩展正则表达式的说明,即命令egerp与命令【grep -E】376)

11.4、文件的格式化与相关处理

  • 11.4.1、格式化打印:printf(printf命令的选项和参数a377)(printf命令常见的范例a378)(printf命令的巧妙之处a379)
  • 11.4.2、awk:好用的数据处理工具(awk命令通常运行的模式是什么?b379)(awk命令应用的例子c379)(awk的处理流程是怎样的?d379)(awk命令中的内置变量和内置变量的查看a380)(关于awk命令中的单引号和双引号的说明b380)(awk命令中条件类型的逻辑运算符c380)(带有条件的awk命令的范例d380)(关于awk命令的重要事项说明a381)
  • 11.4.3、文本比对工具(什么时候会用到文件的比对?b381)(diff命令作用的简述和适用的范围a382)(diff命令的常见选项与参数b382)(diff命令常用的范例ce382)(diff命令的注意事项d382)(cmp命令的作用的简述、适用范围和与diff命令的比较f382)(cmp命令常见的选项与参数g382)(cmp命令常用的范例h382)(如何进行文件的升级?a383)(关于patch命令的说明,学习完第21章后,再回过头来看看)
  • 11.4.4、文件打印设置:pr(pr命令的简单范例a384)

11.5、重点回顾

11.6、本章习题(情景模拟题定期回顾)(简答题见辅助文档)

12、学习shell脚本

12.1、什么是shell脚本(什么是shell脚本ac388)(shell脚本的功能b388)

  • 12.1.1、为什么要学习shell脚本(学习shell的好处de388,a-d389)
  • 12.1.2、第一个脚本的编写与执行(shell脚本的编写需要注意的事项e389)(如何执行shell脚本文件a390)(编写一个shell脚本应该包括哪些内容?b390)
  • 12.1.3、建立shell脚本的良好编写习惯(关于shell脚本开头应该编写的内容以及编写的习惯a391)

12.2、简单的shell脚本练习

  • 12.2.1、简单范例(交互式脚本,变量内容由用户决定a392,见辅助文档)(随日期变化,利用date创建文件b392,见辅助文档)(数值运算,简单的加减乘除a393,见辅助文档)(关于两种计算式给变量赋值方法的说明b393)(数值运算,通过bc计算Pi,a394,见辅助文档)
  • 12.2.2、脚本执行方法的差异,即source、sh script、./script的差异(关于直接执行的方式来执行脚本的说明b394)(直接执行方式的图示说明ab395)(关于利用source执行脚本的说明cd395)(关于使用source命令运行shell脚本的时候,脚本最后【exit 0】语句的说明,见辅助文档)

12.3、善用判断式

  • 12.3.1、利用test命令的测试功能(test命令的参数表a396)(关于test命令的脚本范例a397,见辅助文档)
  • 12.3.2、利用判断符号[](中括号作为判断符号的举例和语法说明b397)(关于中括号作为判断符号的范例a398,见辅助文档)
  • 12.3.3、shell脚本的默认变量,即$1、$2……(脚本针对后面有参数的情况设置了哪些默认变量a399)(关于脚本中的默认变量的使用范例b399,见辅助文档)(关于shift向右偏移变量号码的范例说明a400,见辅助文档)

12.4、条件判断式

  • 12.4.1、利用if…then(单层、简单条件判断式的语法a401)(多重、复杂条件判断式的语法b401)(多重、复杂条件判断式的范例a402,见辅助文档)(多重、复杂条件判断式的较复杂的范例a404,见辅助文档)
  • 12.4.2、利用case…esac判断(case…esac语句的语法的说明a405,a406)(case…esac语句的范例,见辅助文档)
  • 12.4.3、利用function功能(什么是脚本中的函数,其功能是什么?b406)(脚本中使用函数的语法c406)(关于脚本中函数的范例d406,见辅助文档)(关于函数中的$0、$1…变量与脚本中的$0、$1…变量的说明a407)(关于函数中的$0、$1…变量的使用范例,见辅助文档)

12.5、循环,即loop

  • 12.5.1、while do down、until do done,即不定循环(不定循环常见的两种语法ab408)(while不定循环与until不定循环的使用范例c408,ab409,见辅助文档)
  • 12.5.2、for…do…done,即固定循环(for…do…done循环的语法c409)(for…do…done循环的使用范例ab410,c411,见辅助文档)(for…do…done中如何使用遍历数字1到100 c410,ab411)
  • 12.5.3、for…do…done的数值处理(for…do…done的另一种语法格式d411)(for…do…done的数值处理的使用范例a412,见辅助文档)
  • 12.5.4、搭配随机数与数组的实验(随机数与数组在脚本中的使用范例bc412,见辅助文档)

12.6、shell脚本的跟踪与调试(sh命令用于debug的选项和参数a413)(sh命令用来debug的范例b413)

12.7、重点回顾

12.8、本章习题(见辅助文档)

13、Linux帐号管理与ACL权限设置

13.1、Linux的帐号与用户组

  • 13.1.1、用户标示符:UID与GID(Linux主机如何识别帐号名称?a418)(帐号名称存储在哪个文件中?b418)(每个登陆的用户有几种ID?c418)(文件是如何判别它的拥有者与用户组的?d418)(乱改/etc/passwd中的一般用户ID对其拥有的文件的影响的范例e418)
  • 13.1.2、用户帐号(用户如何登陆主机并获得shell工作环境a419)(用户输入完密码之后系统会做哪些工作?b419)(关于/etc/passwd的文件结构说明c419)(关于/etc/passwd文件每一行内容的说明d419)(关于Linux对于UID的限制的说明a420)(关于/etc/shadow文件每一行内容的说明a421)(关于/etc/shadow文件内容的举例说明a422)(关于需要处理/etc/shadow文件情况的举例a423)(如何查询/etc/shadow文件使用哪种加密机制?b423)
  • 13.1.3、关于用户组:有效与初始用户组,groups,newgr(关于/etc/group文件每一行内容的说明c423)(UID、GID和密码之间的关系示意图ab424)(关于新版本Linux中的某些用户不会出现在该用户对应的初始用户群组的说明c424,a425)(/etc/passwd文件中的第四栏GID,记录的是有效用户组还是初始用户组d424)(创建一个新的文件,文件所属的用户组是初始用户组还是有效用户组?b425)(如何查看当前用户所属的用户组,如果有多个,哪个是有效用户组?c425)(如何切换用户的有效用户组d425)(newgrp命令的限制e425)(newgrp命令的使用范例f425)(newgrp命令的工作原理gh425)(如何添加一个用户到用户组中a426)(关于/etc/gshadow文件每一行的内容说明b426)(什么是用户组管理员?c426)

13.2、帐号管理

  • 13.2.1、新增与删除用户:useradd、相关配置文件、passwd、usermod、userdel(如何创建一个新的用户d426)(useradd命令的常用选项和参数e426)(useradd命令常用的范例ade427)(CentOS中使用useradd命令创建新用户的默认值是什么?bc427)(为什么创建系统帐号时不会主动建立家目录?f427)(使用useradd命令创建新用户要修改哪些文件?a428)(如何查看useradd命令的默认值b428)(关于命令useradd使用的默认值的说明c428)(UID与GID的密码参数记录在哪个文件?a429)(关于/etc/login.defs文件的内容说明b429,该文件的内容见辅助文档)(useradd创建一个用户至少会参考哪些文件和目录a430)(刚使用useradd创建的新用户能不能登陆b430)(passwd命令常见的选项和参数c430)(passwd命令常见的范例de430,fg431,a432)(Linux中的PAM模块对密码有哪些规范?a431)(root设置新密码与一般用户设置新密码的区别b431)(为什么一般用户修改密码会如此麻烦?c431)(PAM管理密码的机制存放在哪个文件中?d431)(设置密码最好遵循的原则e431)(更详细的密码参数显示命令chage常见的选项和参数b432)(chage命令的常用范例cd432)(usermod命令功能简介a433)(usermod命令常见的选项和参数b433)(usermod命令常见的范例c433)(userdel命令删除的用户数据文件有哪些?a434)(userdel命令的选项和参数b434)(userdel命令的常见的范例c434)(关于使用userdel命令的注意事项d434)(如果要暂时冻结某个帐号而不是将他删除应该怎么办?e434)
  • 13.2.2、用户功能(关于命令id的功能的简述f434)(id命令的使用范例g434)(finger命令的选项和参数a435)(finger命令常用的范例bd435)(关于finger命令列出的信息含义的说明c435)(chfn命令常用的选项和参数e435)(chfn命令常用的范例a436)
  • 13.2.3、新增与删除用户组(groupadd命令的选项与参数a437)(groupadd命令的常用范例b437)(groupmod命令的选项与参数c437)(groupmod命令的常用范例d437)(删除用户组命令groupdel的常用范例e437)(为什么有的用户组能够被groupdel命令删除,有的不能?f437)(什么是用户组管理员?什么时候会用到用户组管理员?用户组管理员的功能是什么?怎么创建一个用户组管理员?g437)(gpasswd命令常用的选项和参数a438)(gpasswd命令常用的范例b438)
  • 13.2.4、帐号管理实例(实战操作任务一a438)(实战操作任务二a439,d442)
  • 13.2.5、使用外部身份认证系统(以后看服务器篇章的时候要有印象)

13.3、主机的详细权限规划:ACL的使用

  • 13.3.1、什么是ACL与如何支持启动ACL(什么是ACL?ACL的功能是什么?a440)(ACL主要针对哪些方面来控制权限?b440)(如何启动ACL c440)(如何查看文件系统是否支持ACL?d440)
  • 13.3.2、ACL的设置技巧:getfacl、setfacl(如何设置与查看ACL a441)(setfacl的选项与参数b441)(setfacl的使用范例c441,ab442,a443,a444)(getfacl的选项和参数d441)(getfacl的常用范例e441)(ACL权限中的mask是什么?c442)

13.4、用户身份的切换(为什么Linux系统要进行用户身份的切换?b444)(如何让一般用户转变身份为日root用户a445)

  • 13.4.1、su(su命令的常用选项与参数b445)(su命令常用的范例d445,ab446)(命令【su】和命令【su -】是否有区别?c445)(su命令的用法总结c446)(su命令的缺陷d446)
  • 13.4.2、sudo(sudo命令的功能简述e446)(是不是所有的人默认都能使用sudo?f446)(哪个文件会记录使用sudo命令用户?f446)(系统一开始默认可以执行sudo的用户是谁?a447)(sudo命令常用的选项与参数b447)(sudo命令常用的范例c447)(sudo命令执行的基本原理d447)(为什么要使用visudo命令去修改/etc/sudoers文件,而最好不要直接进入文件进行修改e447)(visudo命令的工作原理b448)(如何让某个一般用户可以使用root的任何命令,且可以切换到任何用户?ac448)(通过wheel用户组让一群用户使用root的任何命令d448)(为什么在安装Centos时将创建的一般用户钩上【将此用户设置为管理员】选项可以让该用户使用sudo命令?a449)(通过wheel用户组及免密码功能让一群用户使用root的任何命令b449)(如何让某个sudoer用户只能使用部分命令c449)(visudo中可以支持哪些别名a450)(如何通过帐号别名的方式将多个用户加入到sudo列表中?b450)(关于sudo时间间隔的说明c450)(使用一般用户自己的密码切换到root身份的变态操作d450)(关于当用户的sudo权限重复设置时的问题以及对用户能够使用sudo执行的命令限制的设置问题的说明,见辅助文档)

13.5、用户的特殊shell与PAM模块

  • 13.5.1、特殊的shell,/sbin/nologin(使用/sbin/nologin这个shell无法正常登陆,这里的无法正常登陆是指登陆什么?abc451)(如何给使用/sbin/nologin shell的用户尝试登陆时给予提示信息d451)
  • 13.5.2、PAM模块简介(什么是PAM?e451)(PAM模块的应用举例a452)
  • 13.5.3、PAM模块设置语法(passwd命令调用PAM模块的执行原理b452)(passwd命令调用PAM模块时,PAM使用的配置文件【/etc/pam.d/passwd】的内容说明c452,a454)
  • 13.5.4、常用模块简介(和PAM有关的文件存放的目录有哪些(包括每个程序的配置文件和PAM实际放置的目录等)?a455)(PAM机制中的常用模块简介b455)(login的PAM验证机制流程c455)(什么是ssh?,见辅助文档)(为什么root无法以telnet直接登陆系统,但是却能够使用ssh直接登陆?a456)
  • 13.5.5、其他相关文件(关于文件【/etc/security/limits.conf】的使用说明)(如果发生了无法登录或者一些无法预期的错误时可以查看哪些pam日志文件a457)

13.6、Linux主机上的用户信息传递

  • 13.6.1、查询用户:w、who、last、lastlog(命令w和命令who的使用范例b457)(lastlog命令的使用范例a458)
  • 13.6.2、用户对谈:write、mesg、wall(如何与其他正在使用主机的用户交谈b458)(write命令的使用范例c458)(屏蔽和允许write发送的信息的命令mesg的使用范例)(如何给在线的所有用户群发消息e458)
  • 13.6.3、用户邮箱:mail(使用mail命令给本机上的用户发送邮件的范例a459)(如何避免在使用mail命令的过程中打错字的问题b459)(使用mail命令查看邮件的范例c459)

13.7、Centos 7环境下大量创建帐号的方法

  • 13.7.1、一些帐号相关的检查工具(pwck命令的功能简述a460)(pwck命令的使用范例b460)(关于pwconv命令的简介和功能a461)(关于pwunconv命令的简介和功能b461)(关于chpasswd命令的简介和功能c461)
  • 13.7.2、大量创建帐号模板,适用passwd --stdin选项(批量增加用户的脚本模板d461,见辅助文档)

13.8、重点回顾

13.9、本章习题(情景模拟题a463)(简单题,见辅助文档)

14、磁盘配额与高级文件管理

14.1、磁盘配额的应用与实践

  • 14.1.1、什么是磁盘配额(什么是磁盘配额?abf466)(关于磁盘配额的举例说明c466)(针对网络服务来说,磁盘配额有哪几种情况?d466)(针对Linux主机的磁盘配额有哪几种情况e466)(关于xfs磁盘配额的特别之处说明g466)(磁盘配额的使用限制h466)(针对xfs文件系统磁盘配额的限制选项分为哪几个部分,即可以从哪几个方面进行限制?a467)(关于限制值soft与hard以及grace time相关性的图示说明ab468)
  • 14.1.2、一个xfs文件系统的磁盘配额实践范例(该小节只是准备工作)
  • 14.1.3、实践磁盘配额流程-1:文件系统的支持与查看(进行磁盘配额的目录的限制a469)(如何查看某个目录使用的文件系统是什么?b469)(如何启动xfs文件系统的磁盘配额功能?c469)(关于在文件【/etc/fstab】中配置xfs文件系统磁盘配额的选项说明e469)
  • 14.1.4、实践磁盘配额流程-2:查看磁盘配额报告数据(关于磁盘配额命令xfs_quota的常用选项和参数1 f469)(关于磁盘配额命令xfs_quota的常用范例1 a470)
  • 14.1.5、实践磁盘配额流程-3:限制值设置方式(关于磁盘配额命令xfs_quota的常用选项和参数2 a471)(关于磁盘配额命令xfs_quota的常用范例2 b471)
  • 14.1.6、实践磁盘配额流程-4:project的限制,针对非挂载点目录(步骤一:修改文件【/etc/fstab】内的文件系统支持参数a472)(步骤二:针对要磁盘配额的目录规范其选项名称与选项标示符)(步骤三:实际设置规范与测试a473)
  • 14.1.7、xfs磁盘配额的管理与额外命令对照表(xfs_quota命令的其他内置命令b473)(xfs_quota命令的其他内置命令的使用范例b473)(xfs文件系统与ext文件系统关于磁盘配额的参考命令与配置文件对照表a474)
  • 14.1.8、不修改既有系统的磁盘配额实例(如何将隶属两个不同文件系统的文件进行磁盘配额的限制,比如某个用户对于两个隶属不同文件系统的两个目录的使用额度一共不超过多少a475)

14.2、软件磁盘阵列,即software RAID

  • 14.2.1、什么是RAID(什么是磁盘阵列以及它的功能是什么?b475)(磁盘阵列的级别与功能的关系c475)(关于几种基本的磁盘阵列级别的说明d475)(为什么目前存储设备厂商推荐使用的磁盘阵列级别为RAID1+0 a477)(关于磁盘阵列等级RAID 5的说明,见辅助文档)(关于热备份磁盘的说明a478)(使用磁盘阵列的好处有哪些?b478)(各个磁盘阵列等级的汇总说明c478)
  • 14.2.2、硬件RAID,软件RAID(关于硬件磁盘阵列的说明a479)(关于软件磁盘阵列的说明b479)(关于Centos提供的软件磁盘阵列mdadm软件的说明c479)(关于硬件磁盘阵列与软件磁盘阵列在Linux中的设备文件名的相关说明d479)
  • 14.2.3、软件磁盘阵列的设置(软件磁盘阵列命令mdadm的常用选项和参数e479)(创建一个RAID 5级别的软件磁盘阵列并格式化与挂载使用案例a480,ab481,见辅助文档)
  • 14.2.4、模拟RAID错误的恢复模式(mdadm命令关于恢复软件磁盘阵列的常用选项与参数a482)(模拟软件磁盘阵列出错并恢复的案例b482,见辅助文档)
  • 14.2.5、开机自动启动RAID并自动挂载(设置开机自动启动RAID并自动挂载a483,见辅助文档)
  • 14.2.6、关闭软件RAID(如何关闭RAID?a484,见辅助文档)

14.3、逻辑卷管理器,即Logical Volume Manager

  • 14.3.1、什么是LVM:PV、PE、VG、LV的意义(什么是LVM?ae485)(关于物理卷的相关说明b485)(关于卷组的说明c485)(关于物理扩展块的说明d485)(关于逻辑卷的说明f485)(LVM可以弹性修改文件系统容量的原理g485)(创建LV并将其格式化挂载的实践流程图a486)(当数据写入LV的时候,LV是如何将数据写入到磁盘的?b486)
  • 14.3.2、LVM实践流程(如何创建一个LV并挂载使用?c486,见辅助文档)
  • 14.3.3、放大LV容量(放大文件系统容量的流程是什么?a490)(目前的Linux环境下,哪些文件系统可以放大容量,哪些可以缩小容量?b490,a492)(放大文件系统的本质是什么?c490)(放大LV容量的范例d490,见辅助文档)
  • 14.3.4、使用LVM thin Volume让LVM动态自动调整磁盘使用率(什么是磁盘容量存储池?,即LVM thin Volume b492)(磁盘容量存储池的范例c492,见辅助文档)
  • 14.3.5、LVM的LV磁盘快照(什么是LV磁盘快照?a493)(使用LVM快照的好处b494)(创建LV快照的基本流程c494)(创建LV快照并进行数据恢复范例d494,b495,见辅助文档)(使用快照功能的注意点a495)(快照功能作为测试数据,原系统作为备份数据的妙用a496)
  • 14.3.6、LVM相关命令集合与LVM的关闭(LVM的相关命令总结b496)(删除LVM的流程a497)(删除LVM的范例b497,见辅助文档)

14.4、重点回顾

14.5、本章习题(情景模拟题a498,定期回顾,关于如何在软件磁盘阵列上使用LVM)(简答题,见辅助文档)

15、计划任务,即crontab

15.1、什么是计划任务

  • 15.1.1、Linux计划任务的种类:at、cron(有哪两种常见的计划任务?a501)(关于at命令的简述b501)(关于crontab命令的简述c501)
  • 15.1.2、CentOS Linux系统常见的例行性工作(Linux系统常见的例行性任务有哪些?d501)

15.2、仅执行一次的计划任务

  • 15.2.1、atd的启动与at运行的方式(如何手动启动atd服务?a502)(产生任务的方式是怎么执行的?a503)(为什么不能让所有人都可以执行at计划任务?b503)(如何实现对at命令的使用限制?c503)(添加了文件【/etc/at.allow】和文件【/etc/at.deny】之后,at的工作情况是怎么样的?d503)
  • 15.2.2、实际运行单一计划任务(at命令的基本语法规则e503)(at命令的常见的范例a504)(关于at命令的一些使用细节b504)(关于at命令的后台执行功能的简述c504)(atq命令与atrm命令的使用范例a505)(关于batch命令的简单说明b505)(关于任务负载的简要说明c505)(batch命令的范例c505)(系统检查at命令和batch命令设置的任务的最小时间单位是什么?a506)

15.3、循环执行的计划任务(循环执行计划任务是由哪个系统服务来控制的f506)

  • 15.3.1、用户的设置(用户建立循环型计划任务时使用的命令是什么?b506)(对于crontab命令的限制文件有哪些?c506)(关于crontab命令建立计划任务的原理de506)(crontab命令的常用选项和参数a507)(crontab命令的使用范例ade507,abc508)(使用crontab命令通过vi来编辑任务,任务的格式是怎样的?bc507)(使用crontab命令通过vi来编辑任务,任务的格式可以使用哪些特殊字符,这些字符表示什么含义?c507)(使用crontab命令的注意细节e506,a508)
  • 15.3.2、系统的配置文件:/etc/crontab、/etc/cron.d/*(如果想要执行的例行性任务应该怎么办?d508)(crond这个服务的最低检测限制是什么?e508)(关于修改完文件【/etc/crontab】没有及时写回磁盘导致任务可能不会马上生效,这是应该怎么办?f508)(关于文件【/etc/crontab】内容的说明g508)(crond服务读取的配置文件有哪些?a509)(关于目录【/etc/cron.d】内容的说明b509)(如何设置一个系统例行性任务让其在每小时的第一分钟到第五分钟内的任意时间执行?a510)(对于设置例行性计划任务的总结b510)
  • 15.3.3、一下注意事项(当系统中存在较多例行性计划的时候,应该注意的问题c510)

15.4、可唤醒停机期间的工作任务

  • 15.4.1、什么是anacron(anacron命令的功能简述a511,ace512)(anacron的运行原理的简述bcde512)
  • 15.4.2、anacron与/etc/anacrontab(关于脚本文件【/etc/cron.hourly/0anacron】的说明fh512)(anacron命令的常用选项和参数g512)(配置文件【/etc/anacrontab】的内容各个字段的解释说明a513)(anacron的运行详述b513)(为什么隔了一段时间启动Centos机器之后的一个小时系统会有一小段时间比较忙碌c513)(crond和anacron的关系总结d513)

15.5、重点回顾

15.6、本章习题(简答题,见辅助文档)

16、进程管理与SELinux初探

16.1、什么是进程(关于进程的定义的简要说明a516)

  • 16.1.1、进程与程序,即process & program(如何产生一个进程?b516)(什么是程序?c516)(关于进程拥有的权限的说明d516)(关于程序的总结a517)(关于进程的总结b517)(什么是子进程,什么是父进程?ce517)(某个进程的父进程该如何判断?de517)(将一个有问题的进程关闭,不久后其又自动产生的原因分析f517)(什么是fork and exec,即程序调用的流程?g517)(关于常住内存的进程与服务的简述a518)(为什么Linux系统中的一些服务的名称最后一个字母都是【d】?b518)
  • 16.1.2、Linux的多人多任务环境(Linux多人多任务环境有哪些特色?c518)(在命令行中登陆后,屏幕出现错误信息之后就挂了,该怎么恢复ac519)(如何让某个命令在后台执行?b519)

16.2、任务管理,即job control

  • 16.2.1、什么是任务管理(关于任务管理适用范围的说明ab520)(关于终端中的前台与后台的说明,以及哪些命令可以放入后台,哪些命令可以放入前台的说明c520)(bash的任务管理要注意的限制是d520)
  • 16.2.2、job control的管理(任务控制相关命令有哪些?e520,ab521,df522,a523)(关于直接将命令丢到后台中执行的【&】的说明e520)(关于将目前的任务丢到后台中暂停的【ctrl + z 】的说明a521)(查看目前的后台任务状态的命令jobs的选项与参数b521)(jobs命令常用的范例ab522)(jobs列出的任务中前面的【+】和【-】分别表示什么意思?c522)(将后台任务拿到前台来处理的命令fg常用的选项和参数d522)(fg命令的使用范例e522)(让某个后台任务的状态变成运行的命令bg的使用范例f522)(kill命令的选项和参数a523)(kill命令常用的范例bc523)(关于kill命令的细节说明d523)
  • 16.2.3、脱机管理(远程连接到Linux主机,将任务放后台运行,如果此时脱机了,任务还会不会继续执行e523)(如何将任务放置到系统的后台执行而非终端的后台?f523)(nohup命令的选项和参数a524)(nohup命令的注意点b524)(nohup命令的使用范例c524)

16.3、进程管理(为何进程管理如此重要d524)

  • 16.3.1、查看进程(ps命令的选项和参数e524,a525)(ps命令的时用范例bc525,abc526)(对于命令【ps -l】显示的信息中各个字段的含义是什么?c525)(命令【ps aux】显示的信息中各个字段的含义是什么?b526)(什么是僵尸进程,产生僵尸进程的原因以及解决办法?a527)(动态查看进程状态的命令top的选项与参数b527)(top命令的使用范例ac528)(关于top命令的界面的信息的含义说明b528)(pstree命令的选项和参数a529)(pstree命令的使用范例b529)(所有进程与进程systemd的关系a530)(pstree的妙用b530)
  • 16.3.2、进程的管理(进程是如何互相管理的?c530)(主要的信号的代号、名称及内容的总结d530)(如何给一个进程发送信号e530)(kill命令后面直接跟【数字】和【%数字】的区别f530)(kill命令与ps命令结合使用的范例a531)(killall常用的选项与参数b531)(killall命令的使用范例c531)
  • 16.3.3、关于进程的执行顺序(CPU调度与计划任务的区别a532)(关于Linux给予进程的优先级,即PRI值的解释b532)(如何查看系统中各个进程的PRI?b532)(如何调整进程的优先级?def532)(PRI值与NI值的相关性e532)(对于NI,即nice值的注意点的说明a533)(如何给予某个进程nice值?b533)(nice命令的常用选项和参数d533)(nice命令的使用范例c533)(什么时候应该将nice值调大e533)(renice命令的选项和参数f533)(renice命令常用的范例g533)
  • 16.3.4、查看系统资源信息(free命令的选项与参数a534)(free命令范例bc534)(uname命令的常用选项和参数d534)(uname命令的使用范例e534)(uptime命令的使用范例a535)(关于535页netstat命令的选项和说明等看到服务器篇在看)(dmesg命令的使用范例a536)(vmstat命令功能简述b536)(vmstat命令的常用选项和范例c536)(vmstat命令的常用范例a537)

16.4、特殊文件与进程

  • 16.4.1、具有SUID/SGID权限的命令执行状态(SUID权限具有什么特点?a538)(从进程的角度解释SUID是怎么生效的?b538)(如何查询整个系统中的SUID/SGID的文件?a539)
  • 16.4.2、/proc/* 代表的意义(每个进程与目录【/proc】中的数字目录有什么关联?b539)(关于目录【/proc】中的进程目录中的文件【cmdline】和文件【environ】的说明c539)(目录【/proc】下存储Linux系统相关的参数的文件有哪些?d539)
  • 16.4.3、查询已使用文件或已执行进程使用的文件(fuser命令的功能简介a540)(fuser的选项和参数b540)(fuser命令常用的范例c540)(关于命令【fuser】显示的信息中的权限,即ACCESS,一栏的解释说明d540)(lsof命令的功能简介a541)(lsof命令的常用选项与参数a542)(lsof命令常用的范例b542)(pidof命令常用的选项和参数以及范例c542)

16.5、SELinux初探

  • 16.5.1、什么是SELinux(什么是SELinux?acd543)(系统资源是通过什么来进行读写的?b543)(什么是自主访问控制?e543)(自主访问控制的缺陷是什么?f543)(关于强制访问控制的说明a544)
  • 16.5.2、SELinux的运行模式(关于SELinux的控制主体、控制目标、策略和安全上下文的相关性的说明b544,bc545)(Centos 7中的三个主要的SELinux策略a545)(关于安全上下文的简述b545)(SELinux的控制主体、控制目标、策略和安全上下文的相关性的说明示意图c545)(关于安全上下文存放位置的说明d545)(如何查看文件资源安全上下文的内容,以及内容的含义是什么?e545)(如何查看进程资源的安全上下文,以及其内容的含义是什么?ab546)(对于文件资源的安全上下文中的type字段与进程的安全上下文的domain字段相关性的举例说明a547)(关于文件资源的类型与进程的域对不上,即SELinux安全上下文类型不同,进程能否正常访问文件资源的范例b547)
  • 16.5.3、SELinux 3种模式的启动、关闭与查看(SELinux中的3种模式有哪些?a548)(SELinux三种模式与SELinux的策略规则、安全上下文的关系说明b548)(如何查看目前自己主机上的SELinux是哪一种模式a549)(sestatus命令的选项与参数b549)(sestatus命令的使用范例c549)(SELinux的配置文件是哪个?以及如何调整SELinux策略?d549)(如果修改了SELinux的策略需不需要重新启动?e549)(如何将SELinux的模式由enforcing或permissive转为disable,以及如何由disable转为enforcing或permissive?f549)(如何将SELinux的模式在Permissive与enforcing之间进行转换?a550)(如何解决将SELinux模式从disable转为enforcing之后一些服务因为文件读取不了而无法启动的问题?b550)
  • 16.5.4、SELinux策略内的规则管理(getsebool命令的常用选项与参数c550)(getsebool命令的常用范例d550)(seinfo命令的选项与参数a551)(seinfo命令的常用范例b551)(sesearch命令的选项与参数c551)(sesearch命令常用的范例d551)(如何修改某个规则的布尔值,setsebool命令的常用选项、参数和范例a552)
  • 16.5.5、SELinux安全上下文的修改(对于受限主体进程的影响分为哪三个部分?b552)(chcon命令的选项与参数c552)(chcon命令的时用范例a553)(restorecon命令的选项与参数b553)(restorecon命令的时用范例c553)(为什么可以使用命令restorecon恢复一个文件正确的默认文件SELinux类型d553)(semanage命令的选项与范例e553)(semanage命令的使用范例f553)(如何使用semanage命令修改某个目录的默认的SELinux类型?g553)
  • 16.5.6、一个网络服务案例及日志文件协助(看到服务器篇再适时回头看看)

16.6、重点回顾

16.7、本章习题(简单题,见辅助文档)

17、认识系统服务,即daemon

17.1、什么是daemon与服务service(服务的概念简述a564)(daemon与service之间的关系b564)(daemon是一个程序执行后的进程,那么daemon所处的原本的进程是如何命名的?c564)

  • 17.1.1、早期System V的init管理操作中daemon的主要分类(可选内容,需要的时候再看)
  • 17.1.2、systemd使用的unit分类(启动服务管理机制【systemd】有什么好处?a566)(systemd无法完全替代init的方面有哪些?b566)(systemd将过去的daemon执行脚本称为什么?cd566)(服务单位的基本类型有哪些?a567)

猜你喜欢

转载自blog.csdn.net/ISs_Cream/article/details/106987648
今日推荐