Linux操作系统(第二版)(RHEL 8/CentOS 8)

http://www.tup.tsinghua.edu.cn/booksCenter/book_08172501.html

Linux操作系统(第二版)(RHEL 8/CentOS 8)——勘误表

本科教材

主编:     张同光
ISBN号: 9787302538455
出版日期:   2020-1
出版社:     清华大学出版社

页码:382    定价:¥59 元

内 容 简 介

本书以红帽公司的Linux最新版本Red Hat Enterprise Linux
8为蓝本,坚持理论够用,侧重实用的原则,用案例/示例来讲解每个知识点,对Linux做了较为详尽的阐述,结构清晰,通俗易懂,力争做到使读者在兴趣中学习Linux。本书是一本比较好的Linux入门教材。本书针对的是技术型读者,主要是计算机及相关专业的学生。

本书共8章,主要内容包括:Linux简介与安装、Linux的用户接口与文本编辑器、系统管理、磁盘与文件管理、软件包管理、Linux中的Shell编程、网络服务与管理、系统管理高级。

本书适合作为高等院校计算机及相关专业学生的教材,也可供培养技能型紧缺人才的机构使用。

前   言

Linux是一款免费的类UNIX操作系统,它继承了UNIX操作系统的强大功能和极高的稳定性。Linux最初由芬兰赫尔辛基大学的学生Linus

Torvalds创建,并于1991年首次公布于众。Linus允许免费和自由的使用该系统的源代码,并鼓励其他人进一步对其进行开发。为了对Linux的发展有利,根据GNU
GPL(General Public
Lience,GNU通用公共许可证)对其内核进行发布,这样就赢得了许多专业人员的支持,将GNU项目的许多成果移植到了Linux操作系统上。在许多技术人员、研究人员和众多Linux爱好者的支持下,原Linux版本中的错误逐渐消除,并且不断添加新的功能。现在Linux已经成为一个功能强大、稳定可靠的操作系统。

RHEL是美国RedHat公司开发的一种Linux发行版本,是当今世界上最流行的Linux发行版之一,其版权遵循GNU GPL。它给PC机带来了UNIX工作站的强大功能和灵活性,并且提供了全套的因特网应用软件和功能齐全、简单易用的GUI桌面环境。

RHEL
7于2014年6月发布至今,经过了5个年头,在这5年中IT领域出现了许多新技术,RedHat公司与时俱进,将多种理论与技术成果集成在RHEL
8中。为了满足Linux操作系统教学方面的需求,笔者编写了《Linux操作系统》(第2版)这本书,本书在第1版的基础上,删除冗余陈旧的知识和技能,补充了新出现的理论与技术,介绍了在实际项目中常用的知识点和操作技巧,是广大读者步入Linux殿堂不可多得的一本指导书,为读者以后深入学习Linux打下坚实的基础。

一本好的入门教材可以让读者快速领悟Linux的操作方式和系统的基本使用。

目前Linux的入门教材主要针对两类读者:非技术型、技术型。

非技术型读者:对Linux不是真的感兴趣,只是用Linux上网、听音乐、编辑文档等。针对非技术型用户的入门教材以插图为主,讲的内容主要是在GUI下的操作(鼠标),所以,这种使用Linux的方式还是Windows的思维方式。

技术型读者:对Linux很感兴趣,针对技术型用户的入门教材,一开始就从系统的基本命令开始讲解,脱离Windows的思维方式,这样会给读者以后进一步的学习带来很大帮助,也能使读者逐步领悟Linux的精髓(命令行)所在。

本书针对的是技术型读者,主要是计算机专业(或相关专业)的学生。

本书共有8章,介绍了Red Hat Enterprise Linux 8的许多方面。在第1章,主要介绍了RHEL
8的详细安装过程、引导工具GRUB的使用、RHEL
8的启动流程;在第2章,介绍了Linux中的用户接口,特别是命令行,通过这部分的学习,读者可以真正成为Linux命令行的入门者,然后详细的介绍了Vim编辑器的使用,当远程维护Linux服务器时,Vim是常用的。RHEL

8在系统和文件管理方面,与标准的UNIX操作系统水平相当,这些功能在第3、4章中介绍。在第5章,主要介绍如何使用rpm和yum命令进行软件包的管理。在第6章,介绍了如何在Shell环境中进行编程,编写的Shell脚本程序可以被Shell(如bash)解释执行。一直以来,Linux的长处在于网络服务方面,在第7章,对RHEL

8中的常用网络服务进行介绍,这些网络服务有:DHCP、Samba服务器、WWW以及防火墙管理。第8章大概介绍了Linux系统管理的若干高级方面的内容:逻辑卷管理、磁盘阵列、磁盘配额、虚拟技术、虚拟化技术、cgroups与systemd、namespace等。

本书的重点在前4章,只有学好前4章,读者才算对Linux真正入门,后面几章的学习才会比较轻松,甚至可以自学。随着读者学习、掌握越来越多的计算机主要课程的相关知识,你就可以在Linux的世界里纵深发展了。因此,本书是一本比较好的入门教材。也希望读者在学习的过程中重基础、重理论,切忌浮躁。

第1章  Linux简介与安装 1

1.1  Linux简介 1

1.1.1  Linux的起源 2

1.1.2  Linux的特点 4

1.1.3  Linux的版本 4

1.2  硬盘分区 7

1.2.1  MBR分区 7

1.2.2  GPT分区 9

1.3  实例—U盘安装RedHat Enterprise Linux 8 11

1.4  引导工具GRUB Legacy的设置与应用 17

1.4.1  GRUB的设置 18

1.4.2  实例—GRUB的应用 20

1.5  引导工具GRUB2的设置与应用 21

1.5.1  GRUB2与GRUB Legacy的区别 22

1.5.2  GRUB2配置文件 22

1.5.3  GRUB2脚本修改 24

1.5.4  GRUB2删除多余引导项 26

1.5.5  GRUB2命令行环境的常用命令 26

1.5.6  实例—GRUB2的应用 29

1.6  RHEL 8的启动流程 30

1.6.1  RHEL 8的启动流程—BIOS+MBR 30

1.6.2  RHEL 8的启动流程—UEFI+GPT 36

1.7  本章小结 36

1.8  习题 37

第2章  Linux的用户接口与文本编辑器 1

2.1  GNOME及其配置工具 1

2.1.1  GNOME 1

2.1.2  GNOME Shell和GNOME Classic 2

2.1.3  GNOME配置工具:dconf、gsettings、dconf-editor 4

2.1.4  GDM 6

2.1.5  gnome-session 6

2.1.6  输入法 7

2.2  Shell 7

2.2.1  控制台与终端 8

2.2.2  Shell命令行 9

2.2.3  命令、子命令、选项和参数的自动补全功能 9

2.2.4  历史命令:history 10

2.2.5  命令别名:alias 11

2.2.6  通配符与文件名 12

2.2.7  输入/输出重定向与管道 14

2.2.8  Linux快捷键 17

2.3  Linux中的文本编辑器简介 18

2.3.1  GNOME中的文本编辑器 18

2.3.2  Vi、Vim与Emacs文本编辑器 19

2.4  实例—使用Vim编辑文件 19

2.5  本章小结 26

2.6  习题 26

第3章  系统管理 1

3.1  用户管理 1

3.1.1  用户管理:useradd、passwd、userdel、usermod、chage 1

3.1.2  组管理:groupadd、groupdel、groupmod、gpasswd、newgrp 5

3.1.3  用户查询:who、w、id、whoami、last、lastlog 7

3.1.4  su和sudo命令 10

3.2  进程管理 16

3.2.1  监视进程:ps、pstree、top 16

3.2.2  搜索进程:pgrep、pidof、ps|grep 22

3.2.3  终止进程:kill、killall、pkill、xkill 22

3.2.4  进程的优先级:nice、renice 24

3.2.5  前台进程与后台进程:command &、ctrl+z、jobs、fg、bg 25

3.2.6  周期性/定时执行任务:crontab、at、batch、watch 26

3.2.7  以守护进程方式执行任务:nohup 31

3.2.8  终端复用:tmux 31

3.3  系统和服务管理 31

3.3.1  系统和服务管理器:systemd 32

3.3.2  监视和控制systemd的命令:systemctl 33

3.3.3  系统资源:Unit 34

3.3.4  Unit的配置文件 36

3.3.5  目标(target)、运行级别(runlevel) 39

3.3.6  Systemd定时器 41

3.3.7  开机启动:Systemd 43

3.3.8  开机启动:rc.local 44

3.3.9  Systemd系统管理 45

3.3.10  日志管理:journalctl 46

3.4  其它系统管理 47

3.4.1  查询系统信息:uname、hostname、free、uptime、dmidecode、lscpu、lsmem、lspci、lsusb 47

3.4.2  /proc目录和sysctl命令 50

3.4.3  系统日志和dmesg命令 52

3.4.4  关机等命令:shutdown、halt、reboot、init、runlevel、logout、startx 53

3.4.5  其它命令:man、date/hwclock、cal、eject、clear/reset 54

3.5  系统监视 57

3.5.1  GNOME系统监视器:gnome-system-monitor 57

3.5.2  系统活动情况报告:sar 57

3.6  本章小结 59

3.7  习题 60

第4章  磁盘与文件管理 1

4.1  磁盘管理 1

4.1.1  文件系统挂载:fdisk -l、mount、umount、findmnt、lsblk、blkid、partx、/etc/fstab、e2label/xfs_admin 1

4.1.2  查看磁盘空间:df、du 8

4.1.3  其它磁盘相关命令:fdisk、mkfs、mkswap、fsck、vmstat、iostat 10

4.1.4  制作镜像文件:dd、cp、mkisofs 17

4.1.5  数据同步:sync 19

4.2  文件与目录管理 19

4.2.1  Linux文件系统的目录结构 20

4.2.2  查看目录内容:cd、pwd、ls、nautilus 21

4.2.3  查看文件内容:more、less、cat、tac、nl、head、tail、wc 25

4.2.4  检查文件类型:file、stat 27

4.2.5  文件完整性:cksum、md5sum 28

4.2.6  文件与目录的创建、复制、删除、转移及重命名:touch、mkdir、rmdir、mv、rm、cp 30

4.2.7  文件搜索命令:find、locate、which、whereis、type 35

4.2.8  文件操作命令:grep、sed、awk、tr 38

4.2.9  文件的追加、合并、分割:echo、cat、uniq、cut、paste、join、split 44

4.2.10  文件的比较、排序:diff、patch、cmp、sort 49

4.2.11  文件的链接:ln 52

4.2.12  设备文件:mknod 54

4.2.13  进程与文件:lsof 54

4.2.14  文件下载命令:curl、wget、HTTPie 57

4.3  文件与目录的安全 58

4.3.1  chmod与umask命令 58

4.3.2  chown命令 61

4.3.3  chgrp命令 62

4.3.4  chroot命令 62

4.4  强制位与粘贴位 63

4.5  文件隐藏属性:lsattr、chattr 64

4.6  访问控制列表(ACL):getfacl、setfacl、chacl、+ 66

4.7  文件的压缩与解压缩 70

4.7.1  gzip和gunzip命令 71

4.7.2  bzip2、bunzip2命令 73

4.7.3  显示压缩文件的内容:zcat、zless、bzcat、bzless 73

4.7.4  tar命令 74

4.7.5  cpio命令 76

4.8  文件关联 76

4.8.1  MIME类型 77

4.8.2  添加自定义MIME类型 78

4.9  本章小结 79

4.10  习题 79

第5章  软件包管理 1

5.1  RPM 1

5.1.1  RPM简介 1

5.1.2  RPM的使用 3

5.2  YUM与DNF 7

5.2.1  YUM与DNF简介 7

5.2.2  使用yum命令 8

5.2.3  YUM的配置文件 10

5.2.4  BaseOS和Application Stream 12

5.2.5  安装第三方源 13

5.2.6  创建本地仓库 15

5.2.7  升级系统(Fedora) 16

5.3  软件包管理GUI:gnome-software 16

5.4  本章小结 16

5.5  习题 16

第6章  Linux中的Shell编程 1

6.1  Shell编程基础 1

6.1.1  Shell脚本的建立和执行 1

6.1.2  有效期与环境配置文件 3

6.1.3  Shell变量 4

6.1.4  控制Shell提示符 7

6.1.5  测试命令:test 7

6.1.6  算术运算 10

6.1.7  内部命令 11

6.2  Shell程序设计的流程控制 12

6.2.1  复合结构:{}、() 12

6.2.2  条件分支:if、case 13

6.2.3  循环结构:for、while、until 15

6.2.4  循环退出:break、continue 17

6.3  Shell脚本中的函数 19

6.4  Shell脚本的调试 20

6.5  本章小结 21

6.6  习题 21

第7章  网络服务与管理 1

7.1  网络接口配置 1

7.1.1  GUI方式:gnome-control-center、nm-connection-editor 1

7.1.2  CLI方式:ifconfig、dhclient、route、/etc/resolv.conf 2

7.1.3  NetworkManager:nmcli 5

7.1.4  net-tools与iproute2 7

7.2  DHCP服务及配置 10

7.2.1  DHCP概述 11

7.2.2  实例—设置DHCP服务器 12

7.2.3  实例—设置DHCP客户机 17

7.3  Samba服务器的设置 19

7.3.1  Samba概述 19

7.3.2  实例—配置Samba服务器 20

7.3.3  Samba服务器的配置文件 22

7.3.4  SELinux:getsebool、setsebool、chcon、restorecon 24

7.4  WWW服务器的设置 28

7.4.1  Apache 28

7.4.2  Apache服务器的默认配置 29

7.4.3  实例—静态网站建设 30

7.4.4  实例—为每个用户配置Web站点 32

7.4.5  实例—配置基于IP的虚拟主机 33

7.4.6  实例—基于主机的授权 34

7.4.7  实例—基于用户的认证 35

7.4.8  实例—组织和管理Web站点 37

7.4.9  CGI运行环境的配置 38

7.5  防火墙的设置—iptables 39

7.5.1  Netfilter/iptables简介 40

7.5.2  iptables的语法及其使用 41

7.5.3  实例—防火墙的设置:iptables 43

7.5.4  实例—NAT的设置:iptables 45

7.6  防火墙的设置—firewalld 48

7.6.1  firewalld简介 48

7.6.2  firewalld配置:firewall-config、firewall-cmd 52

7.6.3  实例—NAT的设置:firewall-cmd 58

7.7  防火墙的设置—TCP-Wrappers 59

7.8  基于xinetd的服务 60

7.9  本章小结 60

7.10  习题 61

第8章  系统管理高级 1

8.1  逻辑卷管理 1

8.1.1  逻辑卷管理概述 1

8.1.2  逻辑卷管理组成部分 1

8.1.3  逻辑卷创建过程:pvcreate、pvdisplay、vgcreate、vgdisplay、lvcreate、lvdisplay 2

8.1.4  逻辑卷的扩展与缩小:lvextend、resize2fs、lvreduce 4

8.1.5  卷组的扩展与删除:vgextend、lvremove、vgremove、pvremove 5

8.2  磁盘阵列 5

8.2.1  RAID概述及常用的RAID规范 5

8.2.2  SoftWare RAID描述 9

8.2.3  mdadm管理工具 9

8.2.4  SoftWare Raid创建过程 10

8.2.5  SoftWare Raid配置文件 10

8.2.6  查看、停止与启动Soft阵列 10

8.3  磁盘配额 11

8.3.1  相关命令:quota、quotacheck、edquota、quotaon、quotaoff 11

8.3.2  实例—实现磁盘限额 13

8.4  虚拟化技术 16

8.4.1  虚拟化技术概述 16

8.4.2  QEMU、KVM、QEMU-KVM、libvirt、virsh和virt-manager 17

8.4.3  实例—虚拟机的安装与管理 18

8.5  cgroups 20

8.5.1  cgroups概述 20

8.5.2  cgroups的默认层级 21

8.5.3  cgroups的子系统 23

8.6  cgroups与systemd 24

8.6.1  创建cgroup:systemd-run 24

8.6.2  删除cgroup 26

8.6.3  修改cgroup 26

8.6.4  获得关于cgroup的信息:systemd-cgls、systemd-cgtop 28

8.7  namespace 29

8.8  容器和云 30

8.8.1  容器 30

8.8.2  云 31

8.9  服务器管理软件Cockpit 32

8.10  本章小结 34

8.11  习题 34

Linux操作系统(第二版)(RHEL 8/CentOS 8)的更多相关文章

  1. Linux操作系统(第二版)(RHEL 8/CentOS 8)——勘误表

    Linux操作系统(第二版)(RHEL 8/CentOS 8)--勘误表 http://www.tup.tsinghua.edu.cn/booksCenter/book_08172501.html 本 ...

  2. Linux操作系统以及各大发行版介绍——Linux operating system and major distribution is introduced

    什么是Linux? 也许很多人会不屑的说,Linux不就是个操作系统么.错!Linux不是一个操作系统,严格来讲,Linux只是一个操作系统中的内核.内核是什么?内核建立了计算机软件与硬件之间通讯的平 ...

  3. 在Windows基础上(硬盘)安装Linux操作系统(CentOS/RedHat)

    注:该方法安装CentOS ,RedHat均没有问题,其它Linux操作系统,没有尝试过. 0.创建一个fat32的盘.我分了8G给这个盘,盘符为F.F盘以后的内存所有删除,作为未分配的内存.这个留用 ...

  4. Ubuntu 发行版的 Linux 操作系统

    Ubuntu 发行版的 Linux 操作系统.. ------------------------------------- ------------------------------------- ...

  5. Linux系统忘记管理员密码(CentOS、RHEL、Ubuntu)

    Linux系统忘记管理员密码(CentOS.RHEL.Ubuntu) 系统使用过程中,尤其是生产环境中.万一忘记管理员密码,该怎么办?是不是很绝望? 1.RHEL 7.0 重启主机进入引导界面键入e键 ...

  6. Kali Linux Web渗透测试手册(第二版) - 1.3 - 靶机的安装

    Kali Linux Web渗透测试手册(第二版) - 1.3 - 靶机的安装  一.配置KALI Linux和渗透测试环境 在这一章,我们将覆盖以下内容: 在Windows和Linux上安装Virt ...

  7. Kali Linux Web渗透测试手册(第二版) - 1.0 - 渗透测试环境搭建

    一.配置KALI Linux和渗透测试环境 在这一章,我们将覆盖以下内容: 在Windows和Linux上安装VirtualBox 创建一个Kali Linux虚拟机 更新和升级Kali Linux ...

  8. Linux操作系统各版本ISO镜像下载(包括oracle linux\redhat\centos\u

    Linux操作系统各版本ISO镜像下载(包括oracle linux\redhat\centos\ubuntu\debian等) 1.Oracle Linux(下载地址) (1)OracleLinux ...

  9. 献给初学者:谈谈如何学习Linux操作系统

    本文出自 “技术成就梦想” 博客,请务必保留此出处http://ixdba.blog.51cto.com/2895551/569329. 为了能把这篇不错的文章分享给大家.所以请允许我暂时用原创的形式 ...

随机推荐

  1. Codeforces1365

    AC代码 A. Matrix Game 对于给定矩阵,剩余可用的位置的数目是确定的,根据奇偶性判断就完事了. B. Trouble Sort 如果数组\(b\)有0有1,那么Yes.否则只有数组\(a ...

  2. Google Kick Start 2020 Round B T1-3

    这场题目除了最后一题稍微难了点,其他都是1眼题. T1 Bike Tour 没啥好说的,一个循环解决. T2 Bus Routes 没啥好说的,从第\(n\)的车站开始贪心取最晚的. T3 Robot ...

  3. Agumaster 增加日交易数据列表

  4. 使用 Promise 实现任务队列发送请求,实现最大请求数目限制

    核心 设置最大请求数量,当前请求数量,待执行队列 调用时,创建一个新任务,然后判断是否达到最大请求数量,若达到则将任务追加到待执行队列,否则,则直接执行该任务.并返回Promise 创建任务时,需要返 ...

  5. selenium+python对表格数据的操作

    一.直接获取整个表格数据,包含表头 def table_info(self): tr_data=[] table_data=[] css='id=>useradmin'#根据表格id找到表格 s ...

  6. netty学习心得1

    也不是系统学习,工作需求,一点点抠的,需要自己笼统学习下. 首先功能实现: serverBootstrap.group(boss, work).channel(NioServerSocketChann ...

  7. (jvm调优)一、linux内存查看命令

    转载自https://blog.csdn.net/dongzhongyan/article/details/80067796 开始学习服务器性能查看以及调优 1.整体情况查看(任务管理器):top 第 ...

  8. Docker:一、开始部署第一个Asp.net应用

    工具: docker desktop :一个使用Docker的IDE工具,可以理解为SourceTree,也是使用git的一个桌面化工具: kitematic :配合desctop,用来管理本地的镜像 ...

  9. robots检测插件编写

    首先先把url分割 url = 'https://www.baidu.com/s?wd=123&rsv_spt=1&rsv_iqid=0x8d22781d000014ad&is ...

  10. hadoop集群测试

    master操作: [admin@master ~]$ start-all.sh [admin@master ~]$ jps [admin@master ~]$ hadoop fs -mkdir /i ...