第1章 走进Linux 1
1.1 Linux概述 1
1.1.1 Linux的历史 1
1.1.2 Linux与UNIX 1
1.1.3 GNU项目 2
1.2学好Linux的建议 2
1.3 Linux发行版 3
1.3.1不同发行版 3
1.3.2本书发行版 5
1.4小结 5
1.5知识拓展 5
第2章 Linux安装 7
2.1准备工作 7
2.1.1硬件要求 7
2.1.2资源下载 7
2.2 Windows下搭建Linux环境 9
2.2.1安装VM虚拟机 9
2.2.2导入Linux系统 14
2.3 Mac下搭建Linux环境 17
2.3.1安装VM虚拟机 17
2.3.2导入Linux系统 20
2.4安装Linux操作系统 23
2.5 GNOME基本使用 34
2.5.1 CentOS的重启与注销 34
2.5.2上网设置 36
2.5.3终端的使用 37
2.6小结 38
2.7知识拓展 39
第3章 Linux快速入门 40
3.1 Linux的用户 40
3.1.1谈谈root这个用户 40
3.1.2 CentOS添加其他用户 40
3.2文件权限 42
3.2.1文件有哪些属性? 42
3.2.2不同的文件种类 43
3.2.3 su和sudo 44
3.3 Linux开机流程 46
3.4灾难恢复 46
3.5小结 49
3.6知识拓展 50
第4章 vim编辑器 51
4.1什么是vim? 51
4.2 vim的使用 51
4.2.1普通模式 51
4.2.2编辑模式 52
4.2.3命令行模式 52
4.2.4使用实例 52
4.3 vim的功能 54
4.3.1块选择 54
4.3.2编辑多个文件 56
4.3.3多窗口编辑文件 56
4.4小结 58
4.5知识拓展 59
第5章 Linux基本命令 62
5.1 shell简介 62
5.2常用技巧 63
5.2.1查询命令使用方式 63
5.2.2 Tab键 65
5.2.3强行结束进程 65
5.3管理文件和目录 67
5.3.1切换目录:cd 67
5.3.2查看文件和目录:ls 68
5.3.3创建和删除文件:touch和rm 69
5.3.4创建和删除目录:mkdir和rmdir 70
5.3.5移动和重命名:mv 71
5.3.6复制文件和目录:cp 72
5.4文件搜索 72
5.4.1 find查找文件 72
5.4.2找找程序装在哪儿 76
5.5小结 77
5.6知识拓展 78
5.6.1别名alias 78
5.6.2 man 82
第6章 shell进阶 85
6.1 shell的变量功能 85
6.1.1环境变量 85
6.1.2设置用户自定义变量 89
6.1.3 read 91
6.2数据流重定向 91
6.2.1输出重定向 92
6.2.2输入重定向 93
6.2.3多命令执行 94
6.3管道命令 95
6.3.1切割输出信息:cut 95
6.3.2搜索输出信息:grep 96
6.3.3排序命令:sort 97
6.3.4过滤或统计重复列:uniq 100
6.3.5统计命令:we 101
6.3.6切割文件:split 102
6.4小结 103
6.5知识拓展 104
第7章 Linux文件和目录管理 105
7.1文件目录结构 105
7.2文件与目录的权限 109
7.2.1权限的作用 109
7.2.2新建文件的默认权限 109
7.2.3更改文件所有权 111
7.2.4更改文件权限 111
7.2.5查看文件类型:file 113
7.3小结 113
7.4知识拓展 114
7.4.1文件的隐藏属性:chattr 114
7.4.2文件的特殊权限:SUID、SGID 117
第8章 磁盘管理与文件系统 119
8.1硬盘简介 119
8.2 Linux文件系统 119
8.3操作文件系统 120
8.3.1查看磁盘与目录的容量:df 120
8.3.2新增硬件设备 122
8.3.3创建和修改分区:fdisk 124
8.3.4磁盘格式化:mkfs 129
8.3.5挂载文件系统:mount 130
8.4压缩与解压:tar 131
8.5逻辑卷管理器LVM 133
8.6小结 134
8.7知识拓展 134
第9章 软件安装与管理 136
9.1软件包管理系统 136
9.2 rpm包管理 136
9.2.1安装软件包 136
9.2.2查看已安装软件包 137
9.2.3卸载软件包 140
9.2.4升级软件包 140
9.3 yum包管理 141
9.3.1 yum软件包管理 141
9.3.2搜索软件包 141
9.3.3安装软件包 143
9.3.4升级软件包 145
9.3.5卸载软件包 146
9.4小结 147
9.5知识拓展 147
第10章 用户、用户组与权限管理 149
10.1用户与用户组 149
10.2配置文件 149
10.2.1 /etc/passwd文件 150
10.2.2 /etc/shadow文件 151
10.2.3 /etc/group文件 152
10.3用户管理 153
10.3.1使用命令行添加用户:useradd 153
10.3.2修改用户信息:usermod 153
10.3.3删除用户:userdel 154
10.3.4查看用户历史操作:history 155
10.4用户组管理 155
10.4.1添加与删除用户组:groupadd 155
10.4.2修改用户组信息:groupmod 156
10.4.3删除用户组:groupdel 156
10.5查看系统用户 156
10.5.1 who命令 156
10.5.2 whoami命令 157
10.5.3 last命令 157
10.6小结 158
第11章 进程管理 159
11.1进程概述 159
11.1.1什么是进程? 159
11.1.2父进程与子进程 159
11.1.3进程状态 160
11.2工作管理 161
11.2.1前台进程和后台进程 161
11.2.2前台进程和后台进程的管理 161
11.3进程管理 163
11.3.1进程属性 163
11.3.2查看进程:ps 164
11.3.3动态查看进程变化:top 168
11.3.4调整进程执行优先级:nice和renice 170
11.3.5结束进程:kill 172
11.4守护进程daemon 173
11.5小结 174
11.6知识拓展 175
第12章 shell脚本 176
12.1 shell脚本 176
12.1.1初识shell脚本 176
12.1.2 shell脚本的编写 176
12.1.3输出消息:echo 178
12.2数学运算 180
12.2.1整数运算:let 180
12.2.2整数运算:双括号 181
12.2.3整数运算:方括号 183
12.2.4浮点运算:bc 184
12.3处理用户输入 187
12.3.1位置变量 187
12.3.2特殊变量 188
12.3.3移动变量:shift 189
12.3.4获取用户输入:read 190
12.4小结 191
12.5知识拓展 192
第13章 结构化命令 193
13.1结构化命令 193
13.2条件判断 193
13.2.1 if-then语句 193
13.2.2 if-then-else语句 194
13.2.3 if-then-elif语句 195
13.2.4条件比较 197
13.2.5 case-esac语句 203
13.3循环语句 205
13.3.1 for-do-done语句 205
13.3.2 while-do-done语句 208
13.3.3 until-do-done语句 209
13.4控制循环 210
13.4.1 break语句 210
13.4.2 continue语句 211
13.5函数function 212
13.6小结 213
13.7知识拓展 214
第14章 正则表达式 219
14.1正则表达式介绍 219
14.2正则表达式的类型 220
14.3正则表达式语法 220
14.3.1普通字符 220
14.3.2字符转义 222
14.3.3元字符 222
14.3.4限定符 223
14.3.5定位符 224
14.3.6分组构造 225
14.3.7匹配模式 225
14.4基础正则表达式 226
14.5扩展正则表达式 227
14.6正则表达式的使用 227
14.6.1 grep命令 227
14.6.2 sed命令 228
14.6.3 gawk命令 229
14.7小结 230
14.8知识拓展 231
14.8.1贪婪与非贪婪匹配 231
14.8.2零宽断言 231
14.8.3常用正则表达式参考 231
第15章 Linux网络 233
15.1初识网络 233
15.1.1什么是IP地址? 233
15.1.2什么是子网掩码? 234
15.1.3域名 234
15.2网络接口 235
15.2.1配置接口:ifconfig 235
15.2.2启用和禁用接口:ifup和ifdown 237
15.3网络相关操作 238
15.3.1网络相关配置文件 238
15.3.2网络测试命令 240
15.4小结 246
15.5知识拓展 246
第16章 远程连接主机 249
16.1网络基础知识 249
16.1.1 OSI七层模型 249
16.1.2 TCP/IP协议介绍 250
16.2 SSH远程控制 251
16.2.1 SSH介绍 251
16.2.2 SSH操作 251
16.2.3传输文件:scp 261
16.3小结 262
16.4知识拓展 263
第17章 FTP服务器 264
17.1 FTP协议 264
17.1.1 FTP介绍 264
17.1.2主动模式和被动模式 264
17.2 vsftp服务器 265
17.2.1 vsftp介绍 265
17.2.2 vsftp软件安装及配置 265
17.2.3 vsftpd准备工作 271
17.3三种模式 273
17.3.1匿名用户模式 273
17.3.2本地用户模式 276
17.3.3虚拟用户模式 280
17.4小结 285
第18章 LNMP搭建 286
18.1 LNMP简介 286
18.2 Web服务器介绍 286
18.2.1 Web服务器介绍 286
18.2.2 Nginx介绍 287
18.3 PHP介绍 287
18.4 Nginx使用 288
18.4.1 Nginx安装 288
18.4.2 Nginx配置 293
18.4.3网站资源目录 296
18.5 PHP使用 298
18.5.1 PHP安装 298
18.5.2编写PHP 300
18.6 MySQL安装 301
18.7小结 304
18.8知识拓展 304
18.8.1 IIS、Apache和Nginx对比 304
18.8.2网站开发基本流程 306
第19章 MySQL数据库 308
19.1 MySQL介绍 308
19.2 MySQL工具介绍 308
19.2.1 MySQL控制台客户端 308
19.2.2 MySQL Workbench软件 309
19.3数据库管理 309
19.3.1创建数据库 309
19.3.2选择数据库 310
19.3.3查看数据库 311
19.3.4修改数据库 312
19.3.5删除数据库 313
19.4字段类型 314
19.4.1数值类型 314
19.4.2字符串类型 315
19.4.3时间类型 315
19.5数据表操作 317
19.5.1创建数据表 317
19.5.2查看数据表 320
19.5.3修改数据表 321
19.5.4删除数据表 324
19.6数据库语句 324
19.6.1新增数据 324
19.6.2查询数据 325
19.6.3修改数据 326
19.6.4删除数据 326
19.6.5 replace操作 327
19.7数据表字符集 328
19.7.1查看字符集 328
19.7.2设置字符集 331
19.7.3处理乱码 332
19.8数据库索引 332
19.8.1索引介绍 332
19.8.2唯一索引 333
19.8.3普通索引 333
19.9小结 334
19.10知识拓展 334
第20章 定时执行任务 338
20.1定时执行任务 338
20.2周期性任务:cron 338
20.2.1运行原理 338
20.2.2用户设置 339
20.2.3 crontab系统配置文件 341
20.3一次性任务:at 342
20.3.1运行原理 342
20.3.2一次性任务:at 343
20.4小结 346
20.5知识拓展 346
第21章 防火墙 348
21.1防火墙介绍 348
21.2 Netfilter 348
21.3 iptables 349
21.3.1规则与规则链 349
21.3.2基本命令参数 351
21.4网络命令 355
21.4.1查看网络连接:netstat 355
21.4.2监听网络:tcpdump 358
21.5小结 359
21.6知识拓展 359
第22章 DHCP服务器 361
22.1 DHCP介绍 361
22.2部署DHCP服务器 362
22.2.1安装DHCP服务器 362
22.2.2 DHCP服务器配置 363
22.3小结 368
第23章 Linux常见命令 370
23.1系统资源查看 370
23.1.1查看内存使用情况:free 370
23.1.2查看系统运行时间:uptime 371
23.1.3显示系统进程:top 372
23.1.4查看内核信息:dmesg 373
23.1.5监控系统资源:vmstat 375
23.2监听文件变化:tail 377
23.3网络安全工具:Nmap 379
23.4小结 387