跟阿铭学Linux
《跟阿铭学Linux》,李世明 著,出版社: 人民邮电出版社。
人民邮电出版社,1953年10月成立,隶属于中国工信出版传媒集团,是工业和信息化部主管的大型专业出版社[1]。建社以来,人民邮电出版社围绕“立足工信事业,面向现代社会,传播科学知识,引领美好生活”的出版宗旨,已发展成为集图书、期刊、音像电子及数字出版于一体的综合性出版大社[2]。
目录
内容简介
本书是一本入门级的Linux学习教材,内容由浅入深,案例丰富,通俗易懂!书中分两部分:前面为基础知识,涉及安装、登录、文件和目录管理、磁盘管理、Vim、压缩和解压缩等;后面为进阶知识,包括LAMP、LNMP、NFS、FTP、Linux集群和Zabbix监控等。与上一版相比,这版不仅将虚拟机软件由VMware 10改为VMware 14,基于CentOS 8进行了全面修订,删掉了LAMP环境搭建与配置,还增加了Docker等内容。
目录
- 1 章 学习之初 1
1.1 Linux 是什么 1
1.1.1 Linux 的由来 1
1.1.2 Linux 怎么读 2
1.1.3 常见Linux 发行版 2
1.1.4 我们要学习哪个Linux 发行版 2
1.2 Linux 系统管理员要养成的习惯 3
1.2.1 要习惯使用命令行 3
1.2.2 操作要严谨 4
1.2.3 安全不可忽视 4
1.3 学习建议 5
1.3.1 稳中求进 5
1.3.2 善于总结文档 5
1.3.3 复习很关键 5
1.3.4 举一反三 6
1.4 课后习题 6
- 2 章 安装CentOS 7
2.1 安装虚拟机 7
2.1.1 下载虚拟机软件 7
2.1.2 安装虚拟机 8
2.1.3 新建一个虚拟机 10
2.2 安装Linux 操作系统 14
2.2.1 下载CentOS 镜像文件 14
2.2.2 设置虚拟光驱 14
2.2.3 安装CentOS 16
23 *一次亲密接触 22
2.3.1 初次使用命令行登录 22
2.3.2 设置网络 22
2.3.3 学会使用快捷键 26
2.3.4 学会查询帮助文档——man命令 26
2.3.5 Linux 系统目录结构 27
2.3.6 如何正确关机、重启 30
2.3.7 忘记root 密码怎么办 30
2.3.8 学会使用救援模式 32
2.4 课后习题 35
第3 章 远程登录Linux 系统 36
3.1 安装PuTTY 36
3.1.1 下载PuTTY 36
3.1.2 安装 37
3.2 远程登录 37
3.2.1 使用密码直接登录 37
3.2.2 使用密钥认证 38
3.3 两台Linux 相互登录 41
3.3.1 克隆CentOS 41
3 3.2 使用密码登录 42
3.3.3 使用密钥登录 43
3.4 课后习题 45
第4 章 Linux 文件和目录管理 46
4.1 *对路径和相对路径 46
4.1.1 命令cd 46
4.1.2 命令mkdir 47
4.1.3 命令rmdir 48
4.1.4 命令rm 48
42 环境变量PATH 49
4.2.1 命令cp 50
4.2.2 命令mv 51
4.3 几个与文档相关的命令 52
4.3.1 命令cat 52
4.3.2 命令tac 53
4.3.3 命令more 53
4.3.4 命令less 53
4.3.5 命令head 53
4.3.6 命令tail 54
4.4 文件的所有者和所属组 54
4.5 Linux 文件属性 55
4.6 更改文件的权限 56
4.6.1 命令chgrp 56
4.6.2 命令chown 57
4.6.3 命令chmod 57
4.6.4 命令umask 59
4.6.5 修改文件的特殊属性 60
4.7 在Linux 下搜索文件 62
4.7.1 用which 命令查找可执行文件的*对路径 62
4.7.2 用whereis 命令查找文件 62
4.7.3 用locate 命令查找文件 63
4.7.4 使用find 搜索文件 63
4.8 Linux 文件系统简介 65
4.9 Linux 文件类型 66
4.9.1 常见文件类型 66
4.9.2 Linux 文件后缀名 66
4.9.3 Linux 的链接文件 66
4.10 课后习题 68
第5 章 Linux 系统用户与用户组管理 70
5.1 认识 /etc/passwd 和 /etc/shadow 70
5.1.1 解说/etc/passwd 71
5.1.2 解说/etc/shadow 71
5.2 用户和用户组管理 72
5.2.1 新增组的命令groupadd 72
5.2.2 删除组的命令groupdel 73
5.2.3 增加用户的命令useradd 73
5.2.4 删除用户的命令userdel 74
5.3 用户密码管理 74
5.3.1 命令passwd 74
5.3.2 命令mkpasswd 75
5.4 用户身份切换 75
5.4.1 命令su 76
5.4.2 命令sudo 76
5.4.3 不允许root 远程登录Linux 78
5.5 课后习题 78
第6 章 Linux 磁盘管理 80
6.1 查看磁盘或者目录的容量 80
6.1.1 命令df 80
6.1.2 命令du 81
6.2 磁盘的分区和格式化 83
6.2.1 增加虚拟磁盘 83
6.2.2 命令fdisk 84
6.3 格式化磁盘分区 92
6.3.1 命令mke2fs、mkfsext2、mkfsext3、mkfsext4 和mkfsxfs 92
6.3.2 命令e2label 95
6.4 挂载/卸载磁盘 95
6.4.1 命令mount 95
6.4.2 /etc/fstab 配置文件 97
6.4.3 命令blkid 99
6.4.4 命令umount 100
6.5 建立一个swap 文件增加虚拟内存 101
6.6 课后习题 101
第7 章 文本编辑工具Vim 103
7.1 Vim 的3 种常用模式 103
7.1.1 一般模式 103
7.1.2 编辑模式 104
7.1.3 命令模式 105
7.2 Vim 实践 105
7.3 课后习题 107
第8 章 文档的压缩与打包 108
8.1 gzip 压缩工具 108
8.2 bzip2 压缩工具 109
8.3 xz 压缩工具 109
8.4 tar 打包工具 110
8.4.1 打包的同时使用gzip 压缩 112
8.4.2 打包的同时使用bzip2 压缩 112
8.5 使用zip 压缩 113
8.6 zcat、bzcat 命令的使用 114
8.7 课后习题 114
第9 章 安装RPM 包或源码包 115
9.1 RPM 工具 115
9.1.1 安装RPM 包 116
9.1.2 升级RPM 包 116
9.1.3 卸载RPM 包 116
9.1.4 查询一个包是否已安装 117
9.1.5 得到一个已安装的RPM包的相关信息 117
9.1.6 列出一个RPM 包的安装文件 118
9.1.7 列出某个文件属于哪个RPM包 119
9.2 yum 工具 119
9.2.1 列出所有可用的RPM 包 119
9.2.2 搜索RPM 包 120
9.2.3 安装RPM 包 120
9.2.4 卸载RPM 包 121
9.2.5 升级RPM 包 122
9.2.6 更改yum 仓库为国内镜像站 122
9.2.7 利用yum 工具下载RPM 包 123
9.3 安装源码包 124
9.3.1 下载源码包 124
9.3.2 解压源码包 124
9.3.3 配置相关的选项并生成Makefile 125
9.3.4 进行编译 126
9.3.5 安装 126
9.4 课后习题 127
- 10 章 shell 基础知识 128
10.1 什么是shell 128
10.1.1 记录命令历史 128
10.1.2 命令和文件名补全 129
10.1.3 别名 129
10.1.4 通配符 130
10.1.5 输入/输出重定向 130
10.1.6 管道符 130
10.1.7 作业控制 131
10.2 变量 132
10.2.1 命令env 132
10.2.2 命令set 134
10.3 系统环境变量与个人环境变量的配置文件 137
10.4 Linux shell 中的特殊符号 137
10.41 *代表零个或多个任意字符 137
10.4.2 只代表一个任意的字符 137
10.4.3 注释符号# 138
10.4.4 脱义字符\ 138
10.4.5 再说管道符| 138
10.4.6 特殊符号$ 142
10.4.7 特殊符号; 142
10.4.8 特殊符号~ 143
10.4.9 特殊符号& 143
10.4.10 重定向符号>、>>、2>和2>> 143
10.4.11 中括号[] 143
10.4.12 特殊符号&&和|| 144
10.5 课后习题 144
- 11 章 正则表达式 146
11.1 grep/egrep 工具的使用 146
11.1.1 过滤出带有某个关键词的行,并输出行号 147
11.1.2 过滤出不带有某个关键词的行,并输出行号 147
11.1.3 过滤出所有包含数字的行 148
11.1.4 过滤出所有不包含数字的行 148
11.1.5 过滤掉所有以#开头的行 148
11.1.6 过滤出任意一个字符和重复字符 149
11.1.7 指定要过滤出的字符出现次数 150
11.1.8 过滤出一个或多个指定的字符 150
11.1.9 过滤出零个或一个指定的字符 151
11.1.10 过滤出字符串1 或者字符串2 151
11.1.11 egrep 中()的应用 151
11.2 sed 工具的使用 152
11.2.1 打印某行 152
11.2.2 打印包含某个字符串的行 152
11.2.3 删除某些行 153
11.2.4 替换字符或者字符串 153
11.2.5 调换两个字符串的位置 154
11.2.6 直接修改文件的内容 155
11.2.7 sed 练习题 155
11.3 awk 工具的使用 156
11.3.1 截取文档中的某个段 157
11.3.2 匹配字符或者字符串 157
11.3.3 条件操作符 158
11.3.4 awk 的内置变量 159
11.3.5 awk 中的数学运算 160
11.3.6 awk 练习题 161
11,4 课后习题 162
- 12 章 shell 脚本 163
12.1 什么是shell 脚本 163
12.1.1 shell 脚本的创建和执行 164
12.1.2 命令date 165
12.2 shell 脚本中的变量 165
12.2.1 数学运算 166
12.2.2 和用户交互 166
12.2.3 shell 脚本预设变量 167
12.3 shell 脚本中的逻辑判断 168
12.3.1 不带else 168
12.3.2 带有else 168
12.3.3 带有elif 169
12.3.4 和文件相关的判断 170
12.3.5 case 逻辑判断 171
12.4 shell 脚本中的循环 172
12.4.1 for 循环 172
12.4.2 while 循环 173
12.5 shell 脚本中的函数 173
12.6 shell 脚本中的中断和继续 174
12.6.1 break 174
12.6.2 continue 175
12.6.3 exit 175
12.7 shell 脚本练习题 176
12.8 课后习题 178
- 13 章 Linux 系统管理技巧 179
13.1 监控系统的状态 179
13.1.1 使用w 命令查看当前系统的负载 179
13.1.2 用vmstat 命令监控系统的状态 182
13.1.3 用top 命令显示进程所占的系统资源 183
13.1.4 用sar 命令监控系统状态 184
13.1.5 用nload 命令查看网卡流量 186
13.1.6 用free 命令查看内存使用状况 186
13.1.7 用ps 命令查看系统进程 187
13.1.8 用netstat 命令查看网络状况 189
13.2 抓包工具 191
13.2.1 tcpdump 工具 191
13.2.2 wireshark 工具 192
13.3 Linux 网络相关 192
13.3.1 用ifconfig 命令查看网卡IP 193
13.3.2 给一个网卡设定多个IP 193
13.3.3 查看网卡连接状态 194
13.3.4 更改主机名 195
13.3.5 设置DNS 195
13.4 Linux 的防火墙 196
13.4.1 SELinux 196
13.4.2 netfilter 197
13.4.3 firewalld 204
13.5 Linux 系统的任务计划 210
13.5.1 命令crontab 210
13.5.2 cron 练习题 211
13.6 Linux 系统服务管理 212
13.6.1 chkconfig 服务管理工具 212
13.6.2 systemd 服务管理 213
13.7 Linux 下的数据备份工具rsync 216
13.7.1 rsync 的命令格式 217
13.7.2 rsync 常用选项 217
13.7.3 rsync 应用实例 222
13.8 Linux 系统日志 227
13.8.1 /var/log/messages 228
13.8.2 dmesg 229
13.8.3 安全日志 229
13.9 xargs 与exec 230
13.9.1 xargs 应用 230
13.9.2 exec 应用 230
13.10 screen 工具介绍 231
13.10.1 使用nohup 231
13.10.2 screen 工具的使用 231
13.11 课后习题 232
- 14 章 LNMP 环境配置 234
14.1 安装MySQL 234
14.1.1 下载软件包 234
14.1.2 初始化 235
14.1.3 MySQL 配置文件 236
14.2 安装PHP 236
14.3 安装Nginx 239
14.4 Nginx 配置 242
14.4.1 默认虚拟主机 242
14.4.2 用户认证 244
14.4.3 域名或链接重定向 245
14.4.4 Nginx 的访问日志 247
14.4.5 配置静态文件不记录日志并添加过期时间 248
14.4.6 Nginx 防盗链 250
14.4.7 访问控制 251
14.4.8 Nignx 解析PHP 253
14.4.9 Nginx 代理 253
14.4.10 Nignx 配置SSL 257
14.5 php-fpm 配置 261
14.5.1 php-fpm 的pool 261
14.5.2 php-fpm 的慢执行日志 262
14.5.3 php-fpm 定义open_basedir 263
14.5.4 php-fpm 进程管理 263
14.6 课后习题 264
- 15 章 常用MySQL 操作 265
15.1 更改MySQL 数据库root 的密码 265
15.2 连接数据库 268
15.3 MySQL 基本操作的常用命令 268
15.3.1 查询当前库 268
15.3.2 查询某个库的表 269
15.3.3 查看某个表的全部字段 270
15.3.4 查看当前是哪个用户 271
15.3.5 查看当前所使用的数据库 271
15.3.6 创建一个新库 272
15.3.7 创建一个新表 272
15.3.8 查看当前数据库的版本 272
15.3.9 查看MySQL 的当前状态 272
15.3.10 查看MySQL 的参数 273
15.3.11 修改MySQL 的参数 273
15.3.12 查看当前MySQL 服务器的队列 273
15.3.13 创建一个普通用户并授权 274
15.4 常用的SQL 语句 274
15.4.1 查询语句 274
15.4.2 插入一行 275
15.4.3 更改表的某一行 275
15.4.4 清空某个表的数据 275
15.4.5 删除表 276
15.4.6 删除数据库 276
15.5 MySQL 数据库的备份与恢复 276
15.5.1 MySQL 备份 276
15.5.2 MySQL 的恢复 276
15.6 课后习题 276
- 16 章 NFS 服务配置 278
16.1 服务端配置NFS 278
16.2 客户端挂载NFS 279
16.3 命令exportfs 280
16.4 课后习题 281
- 17 章 配置FTP 服务 282
17.1 使用vsftpd 搭建FTP 服务 282
17.1.1 安装vsftpd 282
17.1.2 建立账号 282
17.1.3 创建和用户对应的配置文件 283
17.1.4 修改全局配置文件/etc/vsftpd/vsftpdconf 284
17.2 安装配置pure-ftpd 284
17.2.1 安装pure-ftpd 284
17.2.2 配置pure-ftpd 285
17.2.3 建立账号 285
17.2.4 测试pure-ftpd 286
17.3 课后习题 286
- 18 章 配置Tomcat 287
18.1 安装Tomcat 287
18.1.1 安装JDK 287
18.1.2 安装Tomcat 288
18.2 配置Tomcat 290
18.2.1 配置Tomcat 服务的访问端口 290
18.2.2 Tomca 的虚拟主机 290
18.3 测试Tomcat 解析JSP 292
18.4 Tomcat 日志 293
18.5 Tomcat 连接MySQL 293
- 19 章 MySQL Replication 配置 296
19.1 配置MySQL 服务 296
19.2 配置Replication 297
19.2.1 设置master(主) 298
19.2.2 设置slave(从) 299
19.3 测试主从 300
19.4 课后习题 301
- 20 章 Linux 集群 302
20.1 搭建高可用集群 302
20.1.1 keepalived 的工作原理 303
20.1.2 安装keepalived 303
20.1.3 keepalived+Nginx 实现 Web 高可用 303
20.2 搭建负载均衡集群 309
20.2.1 介绍LVS 309
20.2.2 LVS 的调度算法 313
20.2.3 使用keepalived+LVS DR 模式实现负载均衡 315
20.2.4 使用Nginx 实现负载均衡 317
20.3 课后习题 319
- 21 章 配置监控服务器 320
21.1 Zabbix 监控介绍 320
21.1.1 Zabbix 组件 321
21.1.2 Zabbix 架构 321
21.2 Zabbix 监控安装和部署 322
21.2.1 用yum 安装Zabbix 322
21.2.2 配置MySQL 323
21.2.3 配置Web 界面 324
21.2.4 部署Zabbix 客户端 327
21.3 Zabbix 配置和使用 328
21.3.1 忘记Admin 密码 328
21.3.2 添加主机 328
21.3.3 添加模板 330
21.3.4 主机链接模板 332
21.3.5 图形中的中文乱码 332
21.3.6 添加自定义监控项目 333
21.3.7 配置告警 335
- 22 章 Docker 容器 338
22.1 在CentOS 8 上安装Docker 338
22.1.1 下载Docker 338
22.1.2 在CentOS 8 上安装 Docker 339
22.2 Docker 镜像 340
22.3 容器 342
22.4 创建镜像 345
22.4.1 通过容器创建镜像 345
22.4.2 使用模板创建镜像 345
22.4.3 使用Dockerfile 创建镜像 346
22.4.4 Dockerfile 实践 349
22.5 Docker 私人仓库 350
22.5.1 部署harbor 前的准备工作 351
22.5.2 部署harbor 351
22.5.3 使用harbor 352
参考文献
- ↑ 我国出版社的等级划分和分类标准,知网出书,2021-03-01
- ↑ 人民邮电出版社简介,人民邮电出版社