本书包括Linux技术基础概述、Linux基本操作命令、Linux vi和vim操作、Linux用户与文件管理、Linux系统管理、Linux Shell编程、Linux Web服务器与数据库服务器应用、Linux时间服务器应用、Linux服务器安装与配置、分布式集群搭建与应用共10章内容。每章均配有对应的项目拓展及本章练习。项目拓展均已经过验证,简明易学,逻辑清晰,应用性强。 本书既可以作为高等院校计算机类专业相关课程的教材,又可以作为云计算工程师、系统架构工程师、Linux爱好者的参考书。
陈小文,广东白云学院副教授,广东省质量工程-《白云宏产业学院》现代产业学院重要成员;市科技进步奖《企业在线计量信息系统》二等奖、市科技进步奖《能源大数据在企业节能减排中的应用》二等奖;校级《华为鲲鹏云创新班》雏鹰计划项目负责人。
第1章 Linux技术基础概述 1
1.1 认识Linux 1
1.1.1 Linux的前世今生 1
1.1.2 Linux体系结构 4
1.1.3 Linux的特点 5
1.1.4 Linux的应用领域 6
1.1.5 Linux内核版本与发行版本 7
1.1.6 初识CentOS 9
1.2 硬件与存储设备 10
1.2.1 硬件 10
1.2.2 Linux中的硬件设备管理 12
1.2.3 设备文件名的组成和设备文件的命名规则 13
1.2.4 设备文件名的使用 13
1.3 硬盘分区 14
1.3.1 Linux中硬盘分区方式概述 14
1.3.2 fdisk分区方式 16
1.3.3 GPT分区方式 19
1.3.4 parted分区方式 19
1.3.5 常用的分区方式及选用原因 21
1.4 常用的Linux分区方案 22
1.4.1 Linux分区方案概述 22
1.4.2 最基本的分区方案和合理的分区方案 23
1.5 安装CentOS 23
1.5.1 准备工作 23
1.5.2 安装过程 24
1.5.3 基本管理和使用 34
1.6 项目拓展 39
1.7 本章练习 39
第2章 Linux基本操作命令 41
2.1 文件系统结构及绝对路径和相对路径 41
2.1.1 文件系统结构 41
2.1.2 绝对路径和相对路径 42
2.2 命令格式及关机命令和重启命令 43
2.2.1 命令格式 43
2.2.2 关机命令和重启命令 43
2.3 目录操作命令 44
2.3.1 ls命令 44
2.3.2 pwd命令 45
2.3.3 whoami命令 45
2.3.4 cd命令 45
2.3.5 which命令 46
2.3.6 whereis命令 46
2.4 文件夹与文件操作命令 47
2.4.1 mkdir命令 47
2.4.2 touch命令 47
2.4.3 cp命令 48
2.4.4 mv命令 49
2.4.5 rm命令 50
2.4.6 ln命令 51
2.5 文件查看与搜索命令 53
2.5.1 cat命令 53
2.5.2 head命令 53
2.5.3 tail命令 54
2.5.4 grep命令 55
2.5.5 wc命令 55
2.5.6 more命令 56
2.5.7 less命令 56
2.5.8 echo命令 58
2.5.9 find命令 59
2.5.10 locate命令 60
2.6 通配符与管道符 61
2.6.1 通配符 61
2.6.2 管道符 62
2.7 本章练习 63
第3章 Linux vi和vim操作 65
3.1 vi和vim操作基础 65
3.1.1 vi和vim的概念 65
3.1.2 vi的工作模式 65
3.1.3 插入模式基本命令 66
3.1.4 移动光标 67
3.1.5 末行模式基本命令 68
3.2 vi和vim进阶操作 68
3.2.1 可视模式 68
3.2.2 移动命令进阶操作 70
3.2.3 命令模式进阶操作 71
3.2.4 末行模式进阶操作 73
3.3 vi和vim高阶操作 75
3.3.1 文件操作 75
3.3.2 视窗操作 77
3.3.3 在vim中执行Shell命令 78
3.3.4 其他高级功能 79
3.4 项目拓展 80
3.4.1 项目拓展1 80
3.4.2 项目拓展2 81
3.4.3 项目拓展3 83
3.4.4 项目拓展4 84
3.4.5 项目拓展5 85
3.5 本章练习 87
第4章 Linux用户与文件管理 89
4.1 用户切换与身份 89
4.1.1 id命令 89
4.1.2 su命令和sudo命令 90
4.1.3 who命令 91
4.2 用户与重要文件 92
4.2.1 用户配置文件 92
4.2.2 组配置文件 94
4.2.3 /etc/sudoers文件和visudo命令 96
4.3 用户操作 96
4.3.1 添加用户useradd 96
4.3.2 修改用户属性usermod 97
4.3.3 删除用户userdel 98
4.3.4 密码管理passwd 98
4.4 用户组操作 99
4.4.1 创建用户组groupadd 99
4.4.2 修改用户组属性groupmod 100
4.4.3 删除用户组groupdel 101
4.4.4 管理组文件gpasswd 101
4.4.5 切换基本组newgrp 101
4.5 用户与用户组管理 102
4.5.1 getent命令 102
4.5.2 chmod命令 103
4.5.3 chown命令 105
4.5.4 chgrp命令 106
4.6 文件与文件夹权限 107
4.6.1 inode 107
4.6.2 ugo和a 108
4.6.3 rwx权限 108
4.7 项目拓展 110
4.7.1 项目拓展1 110
4.7.2 项目拓展2 111
4.8 本章练习 112
第5章 Linux系统管理 114
5.1 常用的操作技巧 114
5.2 软件安装与卸载 115
5.2.1 tar打包与解压缩及安装与配置 115
5.2.2 rpm安装与配置 116
5.2.3 yum安装与配置 118
5.2.4 wget安装与配置 120
5.3 systemctl操作 121
5.4 网络操作与管理 122
5.4.1 IP地址配置 122
5.4.2 主机名配置 123
5.4.3 文件上传与下载 124
5.5 进程操作与管理 125
5.5.1 ps命令 125
5.5.2 kill命令与killall命令 126
5.6 项目拓展 127
5.7 本章练习 128
第6章 Linux Shell编程 130
6.1 Shell入门 130
6.1.1 Shell概述 130
6.1.2 Shell的使用方式 132
6.2 Shell脚本的创建 132
6.2.1 基本语法介绍 132
6.2.2 Shell脚本的创建过程 133
6.3 Shell变量 134
6.3.1 用户变量 135
6.3.2 环境变量 137
6.3.3 位置变量 139
6.3.4 特殊变量 140
6.4 Shell数组 141
6.4.1 数组的定义及赋值 141
6.4.2 数组的引用 142
6.4.3 长度的获取 143
6.5 Shell运算符 143
6.5.1 算术运算符 144
6.5.2 字符串运算符 145
6.5.3 关系运算符 146
6.5.4 布尔运算符 147
6.5.5 逻辑运算符 147
6.5.6 文件操作测试符 148
6.6 Shell条件判断语句 149
6.6.1 if条件语句 149
6.6.2 case条件语句 152
6.7 Shell循环控制语句 154
6.7.1 for循环语句 154
6.7.2 while循环语句 157
6.7.3 until循环语句 159
6.7.4 嵌套循环语句 160
6.8 Shell函数 161
6.9 项目拓展 164
6.9.1 项目拓展1 164
6.9.2 项目拓展2 165
6.9.3 项目拓展3 166
6.10 本章练习 169
第7章 Linux Web服务器与数据库服务器应用 171
7.1 Java环境 171
7.1.1 查看Linux服务器版本 171
7.1.2 下载JDK 172
7.1.3 上传并解压缩JDK 173
7.1.4 配置环境变量 174
7.2 Web服务器 175
7.2.1 Tomcat 176
7.2.2 Nginx 179
7.3 数据库服务器 183
7.3.1 检测是否为首次安装 184
7.3.2 下载MySQL 184
7.3.3 上传并解压缩MySQL 186
7.3.4 安装MySQL 186
7.3.5 启动MySQL服务并登录MySQL 187
7.3.6 修改密码展示默认数据库 188
7.3.7 远程连接 189
7.3.8 停止MySQL服务 191
7.4 项目拓展 191
7.5 本章练习 191
第8章 Linux时间服务器应用 193
8.1 Linux计划任务实现 193
8.1.1 编辑/etc/crontab文件和在/etc/crontab目录中创建文件实现计划任务 193
8.1.2 使用crontab命令实现计划任务 196
8.2 NTP服务器应用 199
8.2.1 安装NTP软件包 199
8.2.2 /etc/ntp.conf文件 200
8.2.3 使用NTP同步互联网中的NTP服务器 202
8.2.4 内网中NTP服务器时间同步部署 203
8.3 Chrony服务器应用 206
8.3.1 安装Chrony软件包 206
8.3.2 /etc/chrony.conf文件 207
8.3.3 内网中Chrony服务器时间同步部署 208
8.4 项目拓展 211
8.5 本章练习 212
第9章 Linux服务器安装与配置 213
9.1 DNS服务器安装与配置 213
9.1.1 DNS概述 213
9.1.2 DNS服务器的安装与正向解析配置过程 216
9.1.3 反向解析配置过程 221
9.2 DHCP服务器安装与配置 223
9.2.1 DHCP概述 223
9.2.2 DHCP服务器的安装与配置过程 225
9.3 FTP服务器安装与配置 230
9.3.1 FTP概述 230
9.3.2 vsftpd的安装与配置过程 231
9.4 项目拓展 238
9.5 本章练习 239
第10章 分布式集群搭建与应用 241
10.1 Java环境与SSH免密认证 242
10.1.1 Java环境安装与配置 242
10.1.2 SSH免密认证配置 243
10.2 Hadoop分布式集群搭建 246
10.2.1 ZooKeeper安装与配置 246
10.2.2 Hadoop分布式集群安装与配置 249
10.2.3 分布式存储与计算运行实例 255
10.3 项目拓展 257
10.4 本章练习 257