《Linux从入门到精通(视频教学版)》以Linux发行版CentOS 7.7为基础,从基本的系统安装开始讲起,然后逐步介绍Linux系统的常用操作命令,以及软件和服务的安装与使用,并在后介绍Shell脚本的使用和防火墙的管理规则。其中重点介绍Linux系统日常维护命令的使用,带领读者系统地学习Linux的操作,帮助他们从一个小白成长为一个初级系统管理员。
《Linux从入门到精通(视频教学版)》分为13章:初识Linux系统,文件管理和目录管理,账户管理和权限管理,磁盘管理,网络管理,进程管理和计划任务,软件包的安装,DHCP服务和DNS服务,文件服务,Web服务,LNMP架构部署,Shell脚本,firewalld防火墙。
《Linux从入门到精通(视频教学版)》对每个Linux命令都配以示例进行实操演练,特别适合Linux入门读者阅读,也适合需要系统学习Linux系统的运维人员、测试人员和开发人员阅读,另外还适合作为相关高校和培训机构的教材。
赠送近20小时配套教学视频、教学PPT,非常超值。
资深运维工程师多年Linux培训教学实践经验的总结。
结合大量示例详解Linux常用操作命令,学习门槛很低。
从Linux安装开始讲解,逐步介绍Linux常用命令,入门很容易。
内容新颖,书中涉及的软件包是截至本书写作时的新版本。
全面归纳和总结作者多年积累的Linux培训教学实践经验。
结合大量示例进行讲解,对实现同一结果的多种命令进行对比。
随着互联网尤其是移动互联网的发展,基于Linux系统开发的Android手机操作系统得到了广泛应用。另外,大数据、云计算等技术也日益流行,这些技术都与Linux系统密切相关。Linux是开源系统,相比Windows系统,它受到攻击的概率更低,因此诸如百度、腾讯和阿里等大量公司的服务器都基于Linux系统搭建。可以说,Linux已经无处不在。
运维工程师必须要学习Linux系统,软件测试和开发人员需要熟悉Linux系统,还有不少的IT从业人员也需要学习Linux系统。IT行业对Linux人才的需求越来越旺盛,各大IT公司对Linux运维工程师的要求也越来越高。可以说,学习Linux已经是大多数IT从业者的必修课,掌握Linux是进入IT行业的基本要求。
笔者也顺应趋势,先从网络工程转向Linux运维,继而又转向Linux培训工作。笔者的感受是,无论是稳定性还是安全性,Linux系统都略胜Windows系统一筹。初次接触的人可能会不太适应,因为Linux系统在使用上和Windows系统完全不同,用户需要掌握很多命令才能高效使用,学习难度远大于Windows系统。基于这些原因,笔者编写了本书,希望对Linux系统的初学者能有所帮助。
《Linux从入门到精通(视频教学版)》特色
? 视频教学:笔者为本书的重点内容录制了10小时配套教学视频,帮助读者高效、直观地学习。
? 从零开始:从Linux的安装开始讲解,然后介绍Linux的常用命令,入门门槛很低。
? 内容新颖:介绍的大部分软件包都是截至本书写作时的版本。
? 经验总结:全面归纳和整理笔者多年积累的Linux培训教学实践经验。
? 内容实用:结合大量示例进行讲解,并对实现同一结果的多种命令进行对比。
? 赠送PPT:笔者专门为本书制作了教学PPT,以方便相关老师教学时使用。
《Linux从入门到精通(视频教学版)》内容
第1章介绍Linux系统的发展历史、常见的Linux发行版、CentOS系统的安装、Linux系统初始化及初始化的基本命令。
第2章介绍Linux文件管理和目录管理,涵盖命令格式、文件管理命令、目录管理命令、解压缩命令和文本编辑器等。通过阅读本章,读者可以初步掌握Linux常用命令的用法。
第3章介绍在Linux系统中创建不同用户账户和用户组的方法,以及设置文件权限和归属权的方法。
第4章介绍Linux磁盘管理,涵盖fdisk磁盘管理工具、gdisk磁盘管理工具、使用parted管理GPT硬盘、格式化磁盘分区、挂载和卸载文件系统等。
第5章介绍Linux网络配置管理,涵盖网络模型、常见通信协议、主机名查看和修改方法,其中重点介绍如何使用命令正确地配置系统的IP地址,以保证主机能正常进行网络通信。
第6章介绍Linux系统的启动流程、系统服务管理命令、进程管理命令和任务计划等,帮助读者掌握Linux系统的进程管理和任务计划管理。
第7章介绍在Linux系统中如何使用工具安装和管理不同的软件包,从而更好地维护系统。
第8章介绍DHCP和DNS服务的搭建,用详细的步骤向读者展示如何部署这两个服务。
第9章介绍在Linux系统中搭建Samba、FTP和NFS三个文件服务的方法,从而在网络中实现资源共享和文件传输服务。
第10章介绍在Linux系统中搭建Apache、Nginx和Tomcat三个Web服务的方法。
第11章介绍MySQL数据库的安装及其常用命令的用法,并重点介绍LAMP和LNMP的环境部署。
第12章介绍Shell脚本的基本语法、流程控制语句和Shell函数的简单使用,帮助读者学会编写Shell脚本,从而实现系统的自动化管理。
第13章介绍firewalld防火墙的简单使用,帮助读者学会根据不同防火墙的规则维护系统的安全。
《Linux从入门到精通(视频教学版)》读者对象
? Linux零基础入门人员;
? Linux系统管理与运维人员;
? 网络管理与维护人员;
? 软件开发与测试人员;
? 对Linux系统感兴趣的人员;
? 各大院校学习Linux的学生;
? Linux培训学员。
《Linux从入门到精通(视频教学版)》配套资源
? 配套教学视频;
? 教学PPT。
《Linux从入门到精通(视频教学版)》配套资源需要读者自行下载,请在华章公司的网站(www.hzbook.com)上搜索到本书,然后单击资料下载按钮,即可在本书页面上找到下载链接进行下载。
意见反馈
受笔者水平所限,书中可能还存在一些疏漏,敬请各位读者指正。阅读本书时如果您有疑问,可以发送电子邮件获得帮助。
……
湛锐涛 曾担任Cisco网络工程师和Linux运维工程师,目前从事Linux系统运维和数据库培训工作,有丰富的网络管理和运维经验,擅长路由器与交换机的调试以及常见服务的部署,熟悉CCNA、CCNP、Windows Server集群服务、Docker和Zabbix等技术,熟练掌握MySQL、SQL Server和Oracle等关系型数据库的管理和维护。
前言
第1章 初识Linux系统 1
1.1 Linux概述 1
1.1.1 Linux系统的构成 1
1.1.2 内核起源 2
1.1.3 一个项目两个协议 2
1.1.4 常用的Linux发行版 2
1.1.5 Windows、Linux和UNIX系统之间的区别 4
1.2 Linux的安装 4
1.2.1 磁盘格式 4
1.2.2 Linux系统的分区规则 5
1.2.3 文件系统类型 6
1.2.4 在VMware Workstation中安装Linux系统 7
1.3 Linux系统初始化 21
1.3.1 文本字符界面详解 22
1.3.2 根目录文件详解 22
1.4 Linux初始化的常用命令 23
1.4.1 查看系统内核版本号和发行版本号 23
1.4.2 查看系统的位数 24
1.4.3 从图形化界面切换到文本字符模式 24
1.4.4 从文本字符模式切换到图形化界面 24
1.4.5 注销命令 25
1.4.6 重启命令 25
1.4.7 关机命令 25
第2章 文件管理和目录管理 27
2.1 Linux命令概述 27
2.1.1 Linux命令的分类 27
2.1.2 Linux命令的格式 28
2.1.3 用于获取帮助的Linux命令 28
2.1.4 Linux命令的辅助快捷键 30
2.2 目录操作命令 31
2.2.1 pwd命令 31
2.2.2 cd命令 31
2.2.3 ls命令 32
2.2.4 mkdir命令 33
2.2.5 du命令 34
2.3 文件操作命令 35
2.3.1 stat命令 35
2.3.2 touch命令 35
2.3.3 cp命令 36
2.3.4 rm命令 38
2.3.5 mv命令 38
2.3.6 查找命令 39
2.3.7 ln命令 42
2.4 文件内容操作命令 43
2.4.1 cat命令 43
2.4.2 wc命令 45
2.4.3 more命令和less命令 46
2.4.4 head命令和tail命令 46
2.5 解压缩操作命令 47
2.5.1 gzip命令和zcat命令 48
2.5.2 bzip2命令和bzcat命令 49
2.5.3 zip命令 50
2.5.4 tar命令 51
2.6 vi文本编辑器 53
2.6.1 vi编辑器的3种模式 53
2.6.2 命令模式的操作键 53
2.6.3 输入模式的操作键 56
2.6.4 末行模式的操作键 57
2.7 文本处理三剑客 58
2.7.1 grep命令 59
2.7.2 sed命令 61
2.7.3 awk命令 64
第3章 账户管理和权限管理 67
3.1 用户账户管理 67
3.1.1 用户账户的分类 67
3.1.2 用户账户的UID 68
3.1.3 用户账户文件 69
3.1.4 添加用户账户命令useradd 70
3.1.5 设置与更改用户账户密码命令:passwd和chage 72
3.1.6 临时切换用户账户命令su 75
3.1.7 修改用户账户的属性命令usermod 75
3.1.8 删除用户账户命令userdel 77
3.1.9 用户账户的初始配置文件 77
3.2 用户组管理 78
3.2.1 组账户的分类 78
3.2.2 组账户文件 78
3.2.3 创建组账户命令groupadd 80
3.2.4 修改组账户密码和添加组成员命令gpasswd 80
3.2.5 修改组账户命令groupmod 81
3.2.6 删除组账户命令groupdel 82
3.2.7 用户与组账户查询命令详解 82
3.3 文件权限和归属权管理 84
3.3.1 查看文件权限和归属权 84
3.3.2 修改文件权限 85
3.3.3 修改文件归属权 87
3.3.4 权限掩码umask 89
3.3.5 文件的ACL权限 91
3.3.6 文件的特殊权限 93
第4章 磁盘管理 98
4.1 fdisk磁盘管理工具 98
4.1.1 查看磁盘设备 98
4.1.2 MBR格式的磁盘分区 99
4.2 gdisk磁盘管理工具 105
4.2.1 查看磁盘设备 106
4.2.2 GPT格式的磁盘分区 107
4.3 使用parted管理GPT磁盘 111
4.3.1 parted命令简介 111
4.3.2 parted的交互式命令 112
4.4 格式化磁盘分区 116
4.4.1 mkfs命令 116
4.4.2 mkswap命令 118
4.5 挂载和卸载文件系统 121
4.5.1 挂载新添加的磁盘分区 121
4.5.2 挂载光驱设备 123
4.5.3 挂载移动设备 124
4.5.4 挂载ISO镜像文件 124
4.5.5 卸载文件系统 125
4.5.6 设置开机自动挂载 125
第5章 网络管理 128
5.1 IP地址 128
5.1.1 IP地址概述 128
5.1.2 IPv4地址的组成 129
5.1.3 IPv4地址的分类 129
5.1.4 子网掩码 131
5.1.5 网关 132
5.1.6 MAC地址 132
5.2 TCP/IP概述 132
5.2.1 OSI七层参考模型 133
5.2.2 TCP/IP五层协议族 134
5.2.3 TCP/IP五层协议族的数据传输过程 136
5.3 查看主机名及网络接口信息 137
5.3.1 查看和修改主机名 137
5.3.2 查看和修改网络配置 140
5.3.3 查看和测试网络连接 153
5.3.4 域名服务器地址 155
5.3.5 nmcli命令 157
第6章 进程管理和任务计划 163
6.1 Linux的引导流程 163
6.1.1 启动流程对比 163
6.1.2 systemv init与systemd的区别 164
6.1.3 服务管理 167
6.2 进程管理 171
6.2.1 静态进程 171
6.2.2 动态进程 172
6.2.3 查看进程识别号 174
6.2.4 后台进程 174
6.2.5 终止进程 176
6.3 任务计划 178
6.3.1 日历和时间命令 178
6.3.2 一次性任务计划 182
6.3.3 周期性任务计划 184
第7章 软件包的安装 189
7.1 软件包的分类 189
7.1.1 RPM软件包 189
7.1.2 源代码软件包 190
7.1.3 绿色免安装软件包 190
7.1.4 DEB软件包 190
7.2 RPM包管理工具 190
7.2.1 查询RPM软件包信息 190
7.2.2 卸载RPM软件包 194
7.2.3 安装RPM软件包 195
7.2.4 重建RPM数据库 196
7.3 源代码包的安装 196
7.3.1 解包释放源代码文件 197
7.3.2 配置安装参数 198
7.3.3 编译二进制可执行文件 198
7.3.4 复制安装 199
7.4 yum管理工具 199
7.4.1 yum概述 199
7.4.2 yum的配置文件 199
7.4.3 yum管理软件包 203
7.5 实战案例 213
7.5.1 JDK环境的部署 213
7.5.2 RAR软件包的安装和使用 216
第8章 DHCP服务和DNS服务 221
8.1 DHCP服务概述 221
8.1.1 DHCP服务的工作原理 221
8.1.2 租约更新 222
8.1.3 作用域 223
8.1.4 DHCP服务器分配IP地址的方式 223
8.2 搭建DHCP服务器 224
8.2.1 单作用域环境 224
8.2.2 多作用域环境 229
8.2.3 超级作用域环境 232
8.3 DNS服务 234
8.3.1 域名的空间结构 235
8.3.2 域名的区域 236
8.3.3 DNS查询过程 236
8.3.4 DNS查询分类 237
8.3.5 DNS服务器的分类 237
8.3.6 资源记录 238
8.4 搭建DNS服务器 240
8.4.1 主DNS服务器 240
8.4.2 辅助DNS服务器 245
第9章 文件服务 251
9.1 Samba文件服务 251
9.1.1 Samba服务概述 251
9.1.2 Samba服务的安装 252
9.1.3 配置文件 253
9.1.4 客户端访问 256
9.1.5 配置用户认证共享 260
9.1.6 配置匿名共享 265
9.2 FTP文件服务 267
9.2.1 FTP服务概述 267
9.2.2 FTP服务的安装 268
9.2.3 FTP服务的相关文件 268
9.2.4 FTP客户端访问 271
9.2.5 配置不隔离用户 273
9.2.6 配置隔离用户 275
9.2.7 配置虚拟用户 277
9.3 NFS服务 280
9.3.1 NFS服务概述 280
9.3.2 NFS服务的配置文件 281
9.3.3 NFS服务的安装 282
9.3.4 NFS服务端测试 283
9.3.5 NFS客户端测试和访问 285
第10章 Web服务 288
10.1 Apache服务 288
10.1.1 Apache服务概述 288
10.1.2 通过RPM包安装Apache服务 289
10.1.3 通过源码包安装Apache服务 291
10.1.4 虚拟主机 294
10.2 Nginx服务 299
10.2.1 Nginx概述 300
10.2.2 Nginx的安装 300
10.2.3 Nginx的配置文件 303
10.2.4 Nginx虚拟主机 305
10.2.5 Nginx反向代理 309
10.2.6 Nginx负载均衡 312
10.3 Tomcat服务 315
10.3.1 Tomcat概述 315
10.3.2 Tomcat的安装 315
10.3.3 Tomcat的配置文件 319
10.3.4 Tomcat的后台管理页面 320
10.3.5 Tomcat部署案例 322
第11章 LNMP架构部署 325
11.1 MySQL数据库 325
11.1.1 MySQL数据库的安装 325
11.1.2 MySQL数据库的初始化 326
11.1.3 连接和管理数据库 329
11.1.4 表管理 331
11.1.5 用户管理和权限管理 337
11.1.6 备份和还原 341
11.1.7 MySQL主从数据库的配置 342
11.2 PHP环境部署 348
11.2.1 PHP主程序包 348
11.2.2 PHP驱动程序包 349
11.3 在LNMP环境中部署Discuz论坛 350
11.3.1 软件版本 350
11.3.2 安装Nginx 351
11.3.3 安装MySQL 352
11.3.4 安装PHP 358
11.3.5 发布Discuz论坛 361
第12章 Shell脚本 367
12.1 Shell概述 367
12.1.1 Shell的作用和类型 367
12.1.2 Shell环境切换 368
12.2 Shell变量 369
12.2.1 变量的查询和显示 370
12.2.2 本地变量 373
12.2.3 环境变量 379
12.2.4 位置变量 381
12.2.5 特殊变量 381
12.3 初识Shell脚本 382
12.3.1 Shell脚本格式 382
12.3.2 Shell脚本的运行方式 384
12.3.3 Shell脚本简单示例 384
12.4 流程控制语句 385
12.4.1 条件测试表达式 386
12.4.2 if判断语句 389
12.4.3 循环语句 391
12.4.4 循环控制语句 394
12.4.5 选择语句 395
12.5 Shell函数 398
第13章 firewalld防火墙 400
13.1 firewalld防火墙概述 400
13.1.1 firewalld区域 400
13.1.2 firewalld的配置文件 402
13.2 firewalld防火墙的配置方法 402
13.2.1 firewall-cmd命令行工具 402
13.2.2 直接规则管理 404
13.2.3 富规则管理 408
13.3 firewalld实战案例 411
13.3.1 案例1:使用直接规则 411
13.3.2 案例2:允许指定的IP访问指定的端口 411
13.3.3 案例3:拒绝指定的IP访问服务 412
13.3.4 案例4:防火墙开启IP地址伪装 412
13.3.5 案例5:自定义服务 414
……