重磅推荐
【产品特色】

【深度学习】

【编辑推荐】
小白和女友都能轻松学会的入门书 基于CentOS 7全新改版,新增集群架构、Zabbix监控和大量LAMP/LNMP实战技巧 购买图书即加入阿铭Linux圈子,共享人脉和资源
【内容简介】
本书是一本入门级的Linux学习教材,适合初学者阅读。本教程由浅入深,内容精湛,案例丰富,通俗易懂!书中分两部分:前面为基础知识,内容涉及Linux的安装、使用远程登录工具登录Linux、文件和目录管理、磁盘管理、Vim、压缩和解压缩文件和目录、安装和卸载软件包等;后面为进阶知识,内容包括正则表达式、shell脚本、日常管理操作、LAMP环境、LNMP环境、MySQL常用的操作、NFS、FTP、Tomcat、Linux集群和Zabbix监控等。 与上一版相比,这一版不仅基于CentOS 7.3进行了全面修订,并且增加了firewalld、Tomcat连接MySQL、集群架构、Zabbix监控等内容。 即使是零基础的人,只要能够坚持把所有章都学完,也一定会受益匪浅。对于有工作经验的人,它也是一本详尽的工具书,助你解决工作当中的一些需求和难题,让你受益匪浅。
【作者简介】
李世明 阿铭Linux培训创办者,猿课联合创始人,从事互联网运维工作8年多,先后就职于Discuz、腾讯、好贷,从基础的运维到高级运维工程师,再到运维部门负责人,运维过的网站从访问量十几万PV到上亿PV,经历过各种各样的突发事故,运维实战经验非常丰富。2011年编写的《跟阿铭学Linux》电子版入门教程,阅读量高达几十万,对初学者提供了莫大的帮助。近些年,在从事Linux运维培训工作中积累了丰富的教学经验,培训过的学生薪资大多在8000元以上。
【媒体评论】
Linux作为x86平台下常用的操作系统,在“去IOE”的时代大背景下,更是倍受推崇与追捧。选择Linux,等于选择了一条自由开放的技术路线,同时也意味着更广阔的前景。 想要快速学习和掌握Linux技术,快捷的方法无疑是有大牛指点。阿铭拥有多年腾讯海量业务的Linux运维经验,这本书融入了大量作者学习Linux的窍门和实践经验,从Linux基础命令使用到高阶服务配置,既有概念介绍又有案例故事。无论你是Linux新手,还是打算提升技术的Linux运维人员,这本实用的Linux教学书都将成为你的
【目录】
目  录



第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 新建一个虚拟机 9

2.2 安装Linux操作系统 13

2.2.1 下载CentOS镜像文件 13

2.2.2 设置虚拟光驱 13

2.2.3 安装CentOS 15

2.3 次亲密接触 21

2.3.1 初次使用命令行登录 21

2.3.2 设置网络 22

2.3.3 图形和命令行切换 29

2.3.4 学会使用快捷键 30

2.3.5 学会查询帮助文档 —— man 30

2.3.6 Linux系统目录结构 31

2.3.7 如何正确关机、重启 34

2.3.8 忘记root密码怎么办 34

2.3.9 学会使用救援模式 36

2.4 课后习题 39

第3章 远程登录Linux系统 40

3.1 安装PuTTY 40

3.1.1 下载PuTTY 40

3.1.2 安装 41

3.2 远程登录 41

3.2.1 使用密码直接登录 41

3.2.2 使用密钥认证 43

3.3 两台Linux相互登录 45

3.3.1 克隆CentOS 46

3.3.2 使用密码登录 47

3.3.3 使用密钥登录 47

3.4 课后习题 49

第4章 Linux文件和目录管理 50

4.1 路径和相对路径 50

4.1.1 命令cd 50

4.1.2 命令mkdir 51

4.1.3 命令rmdir 52

4.1.4 命令rm 52

4.2 环境变量PATH 53

4.2.1 命令cp 54

4.2.2 命令mv 55

4.3 几个与文档相关的命令 56

4.3.1 命令cat 56

4.3.2 命令tac 57

4.3.3 命令more 57

4.3.4 命令less 57

4.3.5 命令head 57

4.3.6 命令tail 58

4.4 文件的所有者和所属组 59

4.5 Linux文件属性 59

4.6 更改文件的权限 60

4.6.1 命令chgrp 60

4.6.2 命令chown 61

4.6.3 命令chmod 62

4.6.4 命令umask 63

4.6.5 修改文件的特殊属性 64

4.7 在Linux下搜索文件 66

4.7.1 用which命令查找可执行文件的路径 66

4.7.2 用whereis命令查找文件 66

4.7.3 用locate命令查找文件 67

4.7.4 使用find搜索文件 67

4.8 Linux文件系统简介 69

4.9 Linux文件类型 70

4.9.1 常见文件类型 70

4.9.2 Linux文件后缀名 70

4.9.3 Linux的链接文件 71

4.10 课后习题 72

第5章 Linux系统用户与用户组管理 74

5.1 认识/etc/passwd和/etc/shadow 74

5.1.1 /etc/passwd解说 75

5.1.2 /etc/shadow解说 75

5.2 用户和用户组管理 76

5.2.1 新增组的命令groupadd 76

5.2.2 删除组的命令groupdel 76

5.2.3 增加用户的命令useradd 77

5.2.4 删除账户的命令userdel 78

5.2.5 使用命令chfn更改用户的

finger 78

5.3 用户密码管理 78

5.3.1 命令passwd 79

5.3.2 命令mkpasswd 79

5.4 用户身份切换 80

5.4.1 命令su 80

5.4.2 命令sudo 81

5.4.3 不允许root远程登录Linux 82

5.5 课后习题 82

第6章 Linux磁盘管理 84

6.1 查看磁盘或者目录的容量 84

6.1.1 命令df 84

6.1.2 命令du 85

6.2 磁盘的分区和格式化 86

6.2.1 增加虚拟磁盘 86

6.2.2 命令fdisk 87

6.3 格式化磁盘分区 96

6.3.1 命令mke2fs、mkfs.ext2、mkfs. ext3、mkfs.ext4和mkfs.xfs 96

6.3.2 命令e2label 99

6.4 挂载/卸载磁盘 99

6.4.1 命令mount 100

6.4.2 /etc/fstab配置文件 101

6.4.3 命令blkid 103

6.4.4 命令umount 104

6.5 建立一个swap文件增加虚拟内存 105

6.6 课后习题 106

第7章 文本编辑工具Vim 107

7.1 Vim的3种常用模式 107

7.1.1 一般模式 107

7.1.2 编辑模式 108

7.1.3 命令模式 109

7.2 Vim实践 109

7.3 课后习题 111

第8章 文档的压缩与打包 112

8.1 gzip压缩工具 112

8.2 bzip2压缩工具 113

8.3 xz压缩工具 113

8.4 tar打包工具 114

8.4.1 打包的同时使用gzip压缩 116

8.4.2 打包的同时使用bzip2压缩 116

8.5 使用zip压缩 117

8.6 zcat、bzcat命令的使用 118

8.7 课后习题 118

第9章 安装RPM包或源码包 119

9.1 RPM工具 119

9.1.1 安装RPM包 120

9.1.2 升级RPM包 120

9.1.3 卸载RPM包 120

9.1.4 查询一个包是否已安装 121

9.1.5 得到一个已安装的RPM包的

相关信息 121

9.1.6 列出一个RPM包的安装文件 122

9.1.7 列出某个文件属于哪个

RPM包 122

9.2 yum工具 122

9.2.1 列出所有可用的RPM包 122

9.2.2 搜索RPM包 123

9.2.3 安装RPM包 124

9.2.4 卸载RPM包 125

9.2.5 升级RPM包 126

9.2.6 使用本地光盘制作yum源 127

9.2.7 利用yum工具下载RPM包 128

9.3 安装源码包 130

9.3.1 下载源码包 130

9.3.2 解压源码包 131

9.3.3 配置相关的选项并生成

Makefile 131

9.3.4 进行编译 132

9.3.5 安装 133

9.4 课后习题 133

第10章 shell基础知识 135

10.1 什么是shell 135

10.1.1 记录命令历史 135

10.1.2 命令和文件名补全 136

10.1.3 别名 136

10.1.4 通配符 137

10.1.5 输入/输出重定向 137

10.1.6 管道符 137

10.1.7 作业控制 137

10.2 变量 139

10.2.1 命令env 139

10.2.2 命令set 140

10.3 系统环境变量与个人环境变量的

配置文件 144

10.4 Linux shell中的特殊符号 145

10.4.1 *代表零个或多个任意字符 145

10.4.2  只代表一个任意的字符 145

10.4.3 注释符号# 145

10.4.4 脱义字符\ 146

10.4.5 再说管道符| 146

10.4.6 命令cut 146

10.4.7 命令sort 147

10.4.8 命令wc 148

10.4.9 命令uniq 148

10.4.10 命令tee 149

10.4.11 命令tr 149

10.4.12 命令split 149

10.4.13 特殊符号$ 150

10.4.14 特殊符号; 150

10.4.15 特殊符号~ 150

10.4.16 特殊符号& 151

10.4.17 重定向符号>、>>、2>和

2>> 151

10.4.18 中括号[] 151

10.4.19 特殊符号&&和|| 151

10.5 课后习题 152

第11章 正则表达式 154

11.1 grep/egrep工具的使用 154

11.1.1 过滤出带有某个关键词的

行,并输出行号 155

11.1.2 过滤出不带有某个关键词

的行,并输出行号 155

11.1.3 过滤出所有包含数字的行 156

11.1.4 过滤出所有不包含数字

的行 156

11.1.5 过滤掉所有以#开头的行 156

11.1.6 过滤掉所有空行和以#开头

的行 157

11.1.7 过滤出任意一个字符和重复

字符 158

11.1.8 指定要过滤出的字符出现

次数 158

11.1.9 过滤出一个或多个指定的

字符 159

11.1.10 过滤出零个或一个指定的

字符 159

11.1.11 过滤出字符串1或者

字符串2 160

11.1.12 egrep中()的应用 160

11.2 sed工具的使用 160

11.2.1 打印某行 160

11.2.2 打印包含某个字符串的行 161

11.2.3 删除某些行 161

11.2.4 替换字符或者字符串 162

11.2.5 调换两个字符串的位置 163

11.2.6 直接修改文件的内容 163

11.2.7 sed练习题 164

11.3 awk工具的使用 165

11.3.1 截取文档中的某个段 165

11.3.2 匹配字符或者字符串 165

11.3.3 条件操作符 166

11.3.4 awk的内置变量 167

11.3.5 awk中的数学运算 168

11.3.6 awk练习题 169

11.4 课后习题 170

第12章 shell脚本 171

12.1 什么是shell脚本 171

12.1.1 shell脚本的创建和执行 172

12.1.2 命令date 173

12.2 shell脚本中的变量 173

12.2.1 数学运算 174

12.2.2 和用户交互 174

12.2.3 shell脚本预设变量 175

12.3 shell脚本中的逻辑判断 176

12.3.1 不带else 176

12.3.2 带有else 176

12.3.3 带有elif 177

12.3.4 和文档相关的判断 178

12.3.5 case逻辑判断 179

12.4 shell脚本中的循环 180

12.4.1 for循环 180

12.4.2 while循环 181

12.5 shell脚本中的函数 181

12.6 shell脚本中的中断和继续 182

12.6.1 break 182

12.6.2 continue 183

12.6.3 exit 183

12.7 shell脚本练习题 184

12.8 课后习题 186

第13章 Linux系统管理技巧 187

13.1 监控系统的状态 187

13.1.1 使用w命令查看当前系统的负载 187

13.1.2 用vmstat命令监控系统的

状态 189

13.1.3 用top命令显示进程所占的系统资源 190

13.1.4 用sar命令监控系统状态 191

13.1.5 用nload命令查看网卡流量 194

13.1.6 用free命令查看内存使用

状况 195

13.1.7 用ps命令查看系统进程 196

13.1.8 用netstat命令查看网络

状况 197

13.2 抓包工具 199

13.2.1 tcpdump工具 199

13.2.2 wireshark工具 200

13.3 Linux网络相关 200

13.3.1 用ifconfig命令查看网卡

IP 200

13.3.2 给一个网卡设定多个IP 201

13.3.3 查看网卡连接状态 202

13.3.4 更改主机名 203

13.3.5 设置DNS 203

13.4 Linux的防火墙 204

13.4.1 SELinux 204

13.4.2 netfilter 205

13.4.3 firewalld 212

13.5 Linux系统的任务计划 215

13.5.1 命令crontab 215

13.5.2 cron练习题 216

13.6 Linux系统服务管理 217

13.6.1 chkconfig服务管理工具 217

13.6.2 systemd服务管理 218

13.7 Linux下的数据备份工具rsync 222

13.7.1 rsync的命令格式 222

13.7.2 rsync常用选项 223

13.7.3 rsync应用实例 227

13.8 Linux系统日志 233

13.8.1 /var/log/messages 233

13.8.2 dmesg 234

13.8.3 安全日志 234

13.9 xargs与exec 235

13.9.1 xargs应用 235

13.9.2 exec应用 236

13.10 screen工具介绍 236

13.10.1 使用nohup 236

13.10.2 screen工具的使用 237

13.11 课后习题 237

第14章 LAMP环境搭建与配置 239

14.1 安装MySQL 239

14.1.1 下载软件包 240

14.1.2 初始化 240

14.1.3 配置MySQL 241

14.2 安装Apache 242

14.3 安装PHP 244

14.4 配置httpd支持PHP 246

14.5 测试LAMP是否成功 247

14.5.1 测试配置文件是否正确 247

14.5.2 测试是否正确解析PHP 248

14.6 httpd配置 248

14.6.1 默认虚拟主机 248

14.6.2 用户认证 250

14.6.3 配置域名跳转 251

14.6.4 配置访问日志 253

14.6.5 配置静态元素过期时间 255

14.6.6 配置防盗链 257

14.6.7 访问控制 258

14.7 PHP配置 261

14.7.1 PHP的disable_functions 262

14.7.2 配置error_log 262

14.7.3 配置open_basedir 263

14.8 PHP动态扩展模块安装 264

14.9 课后习题 266

第15章 LNMP环境配置 267

15.1 安装MySQL 267

15.2 安装PHP 268

15.3 安装Nginx 270

15.4 Nginx配置 275

15.4.1 默认虚拟主机 275

15.4.2 用户认证 275

15.4.3 域名重定向 277

15.4.4 Nginx的访问日志 277

15.4.5 配置静态文件不记录日志并添加过期时间 279

15.4.6 Nginx防盗链 280

15.4.7 访问控制 281

15.4.8 Nignx解析PHP 282

15.4.9 Nginx代理 283

15.4.10 Nignx配置SSL 287

15.5 php-fpm配置 291

15.5.1 php-fpm的pool 291

15.5.2 php-fpm的慢执行日志 292

15.5.3 php-fpm定义open_basedir 293

15.5.4 php-fpm进程管理 293

15.6 课后习题 293

第16章 常用MySQL操作 295

16.1 更改MySQL数据库root的密码 295

16.2 连接数据库 297

16.3 MySQL基本操作的常用命令 297

16.3.1 查询当前库 297

16.3.2 查询某个库的表 297

16.3.3 查看某个表的全部字段 298

16.3.4 查看当前是哪个用户 300

16.3.5 查看当前所使用的数据库 300

16.3.6 创建一个新库 300

16.3.7 创建一个新表 300

16.3.8 查看当前数据库的版本 300

16.3.9 查看MySQL的当前状态 301

16.3.10 查看MySQL的参数 301

16.3.11 修改MySQL的参数 301

16.3.12 查看当前MySQL服务器

的队列 302

16.3.13 创建一个普通用户并授权 302

16.4 常用的SQL语句 303

16.4.1 查询语句 303

16.4.2 插入一行 303

16.4.3 更改表的某一行 304

16.4.4 清空某个表的数据 304

16.4.5 删除表 304

16.4.6 删除数据库 304

16.5 MySQL数据库的备份与恢复 305

16.5.1 MySQL备份 305

16.5.2 MySQL恢复 305

16.6 课后习题 305

第17章 NFS服务配置 307

17.1 服务端配置NFS 307

17.2 客户端挂载NFS 308

17.3 命令exportfs 309

17.4 课后习题 310

第18章 配置FTP服务 311

18.1 使用vsftpd搭建FTP服务 311

18.1.1 安装vsftpd 311

18.1.2 建立账号 311

18.1.3 创建和用户对应的配置

文件 312

18.1.4 修改全局配置文件/etc/ vsftpd/vsftpd.conf 313

18.2 安装配置pure-ftpd 314

18.2.1 安装pure-ftpd 314

18.2.2 配置pure-ftpd 314

18.2.3 建立账号 314

18.2.4 测试pure-ftpd 315

18.3 课后习题 315

第19章 配置Tomcat 316

19.1 安装Tomcat 316

19.1.1 安装JDK 316

19.1.2 安装Tomcat 317

19.2 配置Tomcat 319

19.2.1 配置Tomcat服务的访问

端口 319

19.2.2 Tomca的虚拟主机 319

19.3 测试Tomcat解析JSP 321

19.4 Tomcat日志 322

19.5 Tomcat连接MySQL 322

第20章 MySQL Replication配置 325

20.1 配置MySQL服务 325

20.2 配置Replication 326

20.2.1 设置主(master) 326

20.2.2 设置从(slave) 327

20.3 测试主从 328

20.4 课后习题 329

第21章 Linux集群 330

21.1 搭建高可用集群 330

21.1.1 keepalived工作原理 331

21.1.2 安装keepalived 331

21.1.3 keepalived Nginx实现Web高可用 331

21.2 搭建负载均衡集群 337

21.2.1 LVS介绍 337

21.2.2 LVS的调度算法 341

21.2.3 NAT模式LVS搭建 343

21.2.4 DR模式LVS搭建 345

21.2.5 keepalived LVS 346

21.3 课后习题 348

第22章 配置监控服务器 349

22.1 Zabbix监控介绍 349

22.1.1 Zabbix组件 350

22.1.2 Zabbix架构 350

22.2 Zabbix监控安装和部署 351

22.2.1 用yum安装Zabbix 351

22.2.2 配置Nginx 352

22.2.3 配置MySQL 353

22.2.4 配置Web界面 353

22.2.5 Zabbix客户端部署 356

22.3 Zabbix配置和使用 357

22.3.1 忘记Admin密码 357

22.3.2 添加主机 357

22.3.3 添加模板 359

22.3.4 主机链接模板 368

22.3.5 图形中的中文乱码 368

22.3.6 添加自定义监控项目 370

22.3.7 配置告警 371




返回顶部