第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发行版 3
1.2Linux系统管理员要养成的习惯 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复习很关键 6
1.3.4举一反三 6
1.4课后习题 6
第2章 安装CentOS 7
2.1安装虚拟机 7
2.1.1下载虚拟机软件 8
2.1.2安装虚拟机 8
2.1.3新建一个虚拟机 11
2.2安装Linux操作系统 14
2.2.1下载CentOS镜像 15
2.2.2设置虚拟光驱 15
2.2.3安装CentOS 16
2.3第一次亲密接触 31
2.3.1初次使用命令行登录 31
2.3.2设置网络 32
2.3.3图形和命令行切换 35
2.3.4 Linux的7个运行级别 35
2.3.5学会使用快捷键 36
2.3.6学会查询帮助文档——man 36
2.3.7 Linux系统目录结构 37
2.3.8如何正确关机、重启 39
2.3.9忘记root密码怎么办 40
2.3.10 学会使用救援模式 41
2.4课后习题 42
第3章 远程登录Linux系统 43
3.1安装PuTTY 43
3.1.1下载PuTTY 43
3.1.2安装 44
3.2设置IP 44
3.2.1增加网卡 44
3.2.2配置IP 44
3.3远程登录 45
3.3.1使用密码直接登录 45
3.3.2使用密钥认证 46
3.4两台Linux相互登录 48
3.4.1克隆CentOS 48
3.4.2使用密码登录 49
3.4.3使用密钥登录 49
3.5课后习题 51
第4章 Linux文件和目录管理 52
4.1绝对路径和相对路径 52
4.1.1命令cd 53
4.1.2命令mkdir 53
4.1.3命令rmdir 54
4.1.4命令rm 54
4.2环境变量PATH 55
4.2.1命令cp 56
4.2.2命令mv 57
4.3几个与文档相关的命令 58
4.3.1命令cat 59
4.3.2命令tac 59
4.3.3命令more 59
4.3.4命令less 60
4.3.5命令head 60
4.3.6命令tail 60
4.4文件的所属主和所属组 61
4.5Linux文件属性 61
4.6更改文件的权限 63
4.6.1命令chgrp 63
4.6.2命令chown 64
4.6.3命令chmod 64
4.6.4命令umask 65
4.6.5修改文件的特殊属性 66
4.7在Linux下搜索文件 69
4.7.1用which命令查找可执行文件的绝对路径 69
4.7.2用whereis命令查找文件 69
4.7.3用locate命令查找文件 69
4.7.4使用fiind搜索文件 70
4.8 Linux文件系统简介 71
4.9 Linux文件类型 72
4.9.1常见文件类型 72
4.9.2 Linux文件后缀名 73
4.9.3 Linux的链接文件 73
4.10课后习题 75
第5章 Linux系统用户与用户组管理 77
5.1认识/etc/passwd和/etc/shadow 77
5.1.1 /etc/passwd解说 78
5.1.2 /etc/shadow解说 78
5.2用户和用户组管理 79
5.2.1新增组的命令groupadd 79
5.2.2删除组的命令groupdel 80
5.2.3增加用户的命令useradd 80
5.2.4删除账户的命令uscrdel 81
5.2.5使用命令chfn更改用户的fiinger 81
5.3用户密码管理 82
5.3.1命令passwd 82
5.3.2命令mkpasswd 83
5.4用户身份切换 83
5.4.1命令su 84
5.4.2命令sudo 84
5.4.3不允许root远程登录Linux 86
5.5使用密码工具管理密码 86
5.6课后习题 87
第6章 Linux磁盘管理 89
6.1查看磁盘或者目录的容量 89
6.1.1命令df 89
6.1.2命令du 90
6.2磁盘的分区和格式化 91
6.2.1增加虚拟磁盘 91
6.2.2命令fdisk 92
6.3格式化磁盘分区 100
6.3.1命令mke2fs mkfs.ext2mkfs.ext3和m kfs.ext4 100
6.3.2命令e2label 102
6.4挂载/卸载磁盘 103
6.4.1命令mount 103
6.4.2 /etc/fstab配置文件 105
6.4.3命令blkid 107
6.4.4命令umount 108
6.5建立一个swap文件增加虚拟内存 109
6.6课后习题 110
第7章 文本编辑工具Vim 111
7.1 Vim的3种常用模式 111
7.1.1一般模式 111
7.1.2编辑模式 112
7.1.3命令模式 114
7.2 Vim实践 114
7.3课后习题 115
第8章 文档的压缩与打包 117
8.1 gzip压缩工具 117
8.2 bzip2压缩工具 118
8.3 tar压缩工具 119
8.3.1打包的同时使用gzip压缩 120
8.3.2打包的同时使用bzip2压缩 120
8.4使用zip压缩 121
8.5 bzcat命令的使用 122
8.6课后习题 122
第9章 安装RPM包或源码包 123
9.1 RPM工具 123
9.1.1安装一个rpm包 124
9.1.2升级一个rpm包 124
9.1.3卸载一个rpm包 125
9.1.4查询一个包是否已安装 125
9.1.5得到一个已安装的rpm包的相关信息 125
9.1.6列出一个rpm包的安装文件 126
9.1.7列出某一个文件属于哪个rpm包 126
9.2yum工具 126
9.2.1列出所有可用的rpm包 127
9.2.2搜索一个rpm包 127
9.2.3安装一个rpm包 128
9.2.4卸载一个rpm包 129
9.2.5升级一个rpm包 130
9.2.6使用本地光盘制作一个yum源 131
9.2.7利用yum工具下载一个rpm包 131
9.3安装一个源码包 133
9.3.1下载一个源码包 133
9.3.2解压源码包 134
9.3.3配置相关的选项并生成Makefiile 134
9.3.4进行编译 135
9.3.5安装 136
9.4课后习题 137
第10章 shell基础知识 138
101什么是shell 138
10.1.1记录命令历史 139
10.1.2命令和文件名补全 139
10.1.3别名 139
10.1.4通配符 140
10.1.5输入/输出重定向 140
10.1.6管道符 140
10.1.7作业控制 141
10.2变量 142
10.2.1命令env 142
10.2.2命令set 144
10.3系统环境变量与个人环境变量的配置文件 148
10.4linux shell中的特殊符号 149
10.4.1 *代表零个或多个任意字符 149
10.4.2 ?只代表一个任意的字符 149
10.4.3注释符号 149
10.4.4脱义字符\ 150
10.4.5管道符| 150
10.4.6命令cut 150
10.4.7命令sort 151
10.4.8命令wc 152
10.4.9命令uniq 152
10.4.10命令tee 153
10.4.11命令tr 153
10.4.12命令split 153
10.4.13特殊符号$ 154
10.4.14特殊符号; 154
10.4.15特殊符号~ 154
10.4.16特殊符号& 155
10.4.17重定向符号〉、〉〉、2〉和2>> 155
10.4.18中括号[] 155
10.4.19特殊符号&&和|| 156
10.5课后习题 157
第11章 正则表达式 159
11.1 grep/egrep工具的使用 159
11.1.1过滤带有某个关键词的行并输出行号 160
11.1.2过滤不带有某个关键词的行并输出行号 160
11.1.3过滤所有包含数字的行 161
11.1.4过滤所有不包含数字的行 161
11.1.5删除所有以“#”开头的行 161
11.1.6删除所有空行和以“#”开头的行 161
11.1.7过滤任意一个字符和重复字符 162
11.1.8指定要过滤的字符的出现次数 163
11.1.9筛选一个或多个前面的字符 163
11.1.10筛选零个或一个前面的字符 163
11.1.11筛选字符串1或者字符串2 164
11.1.12 egrep中()的应用 164
11.2sed工具的使用 164
11.2.1打印某行 164
11.2.2打印包含某个字符串的行 165
11.2.3删除某行或者多行 165
11.2.4替换字符或者字符串 166
11.2.5调换两个字符串的位置 167
11.2.6直接修改文件的内容 167
11.2.7 sed练习题 168
11.3 awk工具的使用 169
11.3.1截取文档中的某个段 169
11.3.2匹配字符或者字符串 169
11.3.3条件操作符 170
11.3.4 awk的内置变量 171
11.3.5 awk中的数学运算 172
11.3.6 awk练习题 173
11.4课后习题 174
第12章 shell脚本 175
12.1什么是shell脚本 175
12.1.1 shell脚本的创建和执行 176
12.1.2命令date 177
12.2 shell脚本中的变量 177
12.2.1数学运算 178
12.2.2和用户交互 179
12.2.3 shell脚本预设变量 179
12.3shell脚本中的逻辑判断 180
12.3.1不带else 180
12.3.2带有else 181
12.3.3带有elif 181
12.3.4和文档相关的判断 182
12.3.5 case逻辑判断 183
12.4shell脚本中的循环 184
12.4.1 for循环 184
12.4.2 while循环 185
12.5shell脚本中的函数 186
12.6shell脚本练习题 187
12.7课后习题 189
第13章 Linux系统日常管理 190
13.1监控系统的状态 190
13.1.1 w查看当前系统的负载 190
13.1.2 vmstat监控系统的状态 191
13.1.3 top显示进程所占的系统资源 193
13.1.4 sar监控系统状态 194
13.1.5 free查看内存使用状况 196
13.1.6 ps查看系统进程 196
13.1.7 netstat查看网络状况 198
13.2抓包工具 198
13.2.1 tcpdump工具 198
13.2.2 wireshark工具 199
13.3Linux网络相关 200
13.3.1 ifconfiig查看网卡IP 200
13.3.2给一个网卡设定多个IP 200
13.3.3查看网卡连接状态 201
13.3.4更改主机名 201
13.3.5设置DNS 202
13.4Linux的防火墙 203
13.4.1 selinux 203
13.4.2 iptables 203
13.5Linux系统的任务计划 209
13.5.1命令crontab 209
13.5.2 cron练习题 210
13.6Linux系统服务管理 211
13.6.1 ntsysv服务配置工具 211
13.6.2 chkconfiig服务管理工具 212
13.7 Linux下的数据备份工具rsync 214
13.7.1 rsync的命令格式 214
13.7.2 rsync常用选项 215
13.7.3 rsync应用实例 219
13.8 Linux系统日志 226
13.8.1 /var/log/messages 226
13.8.2 dmesg 227
13.8.3安全日志 228
13.9 xargs与exec 228
13.9.1 xargs应用 228
13.9.2 exec应用 229
13.10 screen工具介绍 230
13.10.1使用nohup 230
13.10.2 screen工具的使用 230
13.11课后习题 231
第14章 LAMP环境搭建 233
14.1安装MySQL 233
14.1.1下载软件包 233
14.1.2初始化 234
14.1.3配置MySQL 234
14.2安装Apache 235
14.3安装PHP 236
14.4 Apache结合PHP 238
14.5测试LAMP是否成功 238
14.5.1测试配置文件是否正确 238
14.5.2测试是否正确解析PHP 239
14.6课后习题 239
第15章 LNMP环境配置 241
15.1安装MySQL 241
15.2安装PHP 242
15.3安装Nginx 244
15.4课后习题 249
第16章 常用MySQL操作 250
16.1 更改MySQL数据库root的密码 250
16.2连接数据库 251
16.3 MySQL基本操作的常用命令 252
16.3.1查询当前库 252
16.3.2查询某个库的表 252
16.3.3查看某个表的全部字段 253
16.3.4查看当前是哪个用户 254
16.3.5查看当前所使用的数据库 254
16.3.6创建一个新库 254
16.3.7创建一个新表 254
16.3.8查看当前数据库的版本 255
16.3.9查看MySQL的当前状态 255
16.3.10查看MySQL的参数 255
16.3.11修改MySQL的参数 256
16.3.12查看当前MySQL服务器的队列 256
16.3.13创建一个普通用户并授权 256
16.4常用的SQL语句 257
16.4.1查询语句 257
16.4.2插入一行 258
16.4.3更改表的某一行 258
16.4.4清空某个表的数据 258
16.4.5删除表 258
16.4.6删除数据库 259
16.5 MySQL数据库的备份与恢复 259
16.5.1 MySQL备份 259
16.5.2 MySQL恢复 259
16.6课后习题 259
第17章 NFS服务配置 261
17.1服务端配置NFS 261
17.2客户端挂载NFS 262
17.3命令exportfs 263
17.4课后习题 264
第18章 配置FTP服务 265
18.1安装pure-ftpd 265
18.1.1下载软件 265
18.1.2安装pure-ftpd 265
18.1.3配置pure-ftpdpd 266
18.1.4建立账号 267
18.1.5测试pure-ftpd 267
18.2使用vsftpd搭建ftp服务 268
18.2.1安装vsftpd 268
18.2.2建立账号 268
18.2.3创建和用户对应的配置文件 269
18.2.4修改全局配置文件/etc/vsftpd.conf 269
18.3课后习题 270
第19章 配置Squid服务 271
19.1 Squid是什么 271
19.2搭建Squid正向代理 272
19.3搭建Squid反向代理 276
19.4 Squid命令常用选项 276
19.5课后习题 277
第20章 配置Tomcat 278
20.1安装Tomcat 278
20.1.1安装JDK 278
20.1.2安装Tomcat 279
20.2配置Tomcat 280
20.2.1配置Tomcat服务的访问端口 280
20.2.2配置新的虚拟主机 281
20.3测试Tomcat 281
第21章 配置Samba服务器 282
21.1 Samba的配置文件smb.conf 282
21.2 Samba实践 284
21.2.1 Samba实践一 284
21.2.2 Samba实践二 285
21.2.3使用Linux访问Samba服务器 286
21.3课后习题 286
第22章 MySQL Replication配置 287
22.1配置MySQL服务 287
22.2配置Replication 288
22.2.1设置master 288
22.2.2设置slave 289
22.3测试主从 290
22.4课后习题 291