跟阿铭学Linux第3版
跟阿铭学Linux第3版
为什么要写这本书
这是一本什么样的书
内容介绍
反馈及服务
特别致谢
1 学习之初
1.1 Linux是什么
1.1.1 Linux的由来
1.1.2 Linux怎么读
1.1.3 常见Linux发行版
1.1.4 我们要学习哪个Linux发行版
1.2 Linux系统管理员要养成的习惯
1.2.1 要习惯使用命令行
1.2.2 操作要严谨
1.2.3 安全不可忽视
1.3 学习建议
1.3.1 稳中求进
1.3.2 善于总结文档
1.3.3 复习很关键
1.3.4 举一反三
1.4 课后习题
2 安装CentOS
2.1 安装虚拟机
2.1.1 下载虚拟机软件
2.1.2 安装虚拟机
2.1.3 新建一个虚拟机
2.2 安装Linux操作系统
2.2.1 下载CentOS镜像文件
2.2.2 设置虚拟光驱
2.2.3 安装CentOS
2.3 第一次亲密接触
2.3.1 初次使用命令行登录
2.3.2 设置网络
2.3.3 图形和命令行切换
2.3.4 学会使用快捷键
2.3.5 学会查询帮助文档 —— man
2.3.6 Linux系统目录结构
2.3.7 如何正确关机、重启
2.3.8 忘记root密码怎么办
2.3.9 学会使用救援模式
2.4 课后习题
3 远程登录Linux系统
3.1 安装PuTTY
3.1.1 下载PuTTY
3.1.2 安装
3.2 远程登录
3.2.1 使用密码直接登录
3.2.2 使用密钥认证
3.3 两台Linux相互登录
3.3.1 克隆CentOS
3.3.2 使用密码登录
3.3.3 使用密钥登录
3.4 课后习题
4 Linux文件和目录管理
4.1 绝对路径和相对路径
4.1.1 命令cd
4.1.2 命令mkdir
4.1.3 命令rmdir
4.1.4 命令rm
4.2 环境变量PATH
4.2.1 命令cp
4.2.2 命令mv
4.3 几个与文档相关的命令
4.3.1 命令cat
4.3.2 命令tac
4.3.3 命令more
4.3.4 命令less
4.3.5 命令head
4.3.6 命令tail
4.4 文件的所有者和所属组
4.5 Linux文件属性
4.6 更改文件的权限
4.6.1 命令chgrp
4.6.2 命令chown
4.6.3 命令chmod
4.6.4 命令umask
4.6.5 修改文件的特殊属性
4.7 在Linux下搜索文件
4.7.1 用which命令查找可执行文件的绝对路径
4.7.2 用whereis命令查找文件
4.7.3 用locate命令查找文件
4.7.4 使用find搜索文件
4.8 Linux文件系统简介
4.9 Linux文件类型
4.9.1 常见文件类型
4.9.2 Linux文件后缀名
4.9.3 Linux的链接文件
4.10 课后习题
5 Linux系统用户与用户组管理
5.1 认识/etc/passwd和/etc/shadow
5.1.1 /etc/passwd解说
5.1.2 /etc/shadow解说
5.2 用户和用户组管理
5.2.1 新增组的命令groupadd
5.2.2 删除组的命令groupdel
5.2.3 增加用户的命令useradd
5.2.4 删除账户的命令userdel
5.2.5 使用命令chfn更改用户的finger
5.3 用户密码管理
5.3.1 命令passwd
5.3.2 命令mkpasswd
5.4 用户身份切换
5.4.1 命令su
5.4.2 命令sudo
5.4.3 不允许root远程登录Linux
5.5 课后习题
6 Linux磁盘管理
6.1 查看磁盘或者目录的容量
6.1.1 命令df
6.1.2 命令du
6.2 磁盘的分区和格式化
6.2.1 增加虚拟磁盘
6.2.2 命令fdisk
6.3 格式化磁盘分区
6.3.1 命令mke2fs、mkfs.ext2、mkfs.ext3、mkfs.ext4和mkfs.xfs
6.3.2 命令e2label
6.4 挂载/卸载磁盘
6.4.1 命令mount
6.4.2 /etc/fstab配置文件
6.4.3 命令blkid
6.4.4 命令umount
6.5 建立一个swap文件增加虚拟内存
6.6 课后习题
7 文本编辑工具Vim
7.1 Vim的3种常用模式
7.1.1 一般模式
7.1.2 编辑模式
7.1.3 命令模式
7.2 Vim实践
7.3 课后习题
8 文档的压缩与打包
8.1 gzip压缩工具
8.2 bzip2压缩工具
8.3 xz压缩工具
8.4 tar打包工具
8.4.1 打包的同时使用gzip压缩
8.4.2 打包的同时使用bzip2压缩
8.5 使用zip压缩
8.6 zcat、bzcat命令的使用
8.7 课后习题
9 安装RPM包或源码包
9.1 RPM工具
9.1.1 安装RPM包
9.1.2 升级RPM包
9.1.3 卸载RPM包
9.1.4 查询一个包是否已安装
9.1.5 得到一个已安装的RPM包的相关信息
9.1.6 列出一个RPM包的安装文件
9.1.7 列出某个文件属于哪个RPM包
9.2 yum工具
9.2.1 列出所有可用的RPM包
9.2.2 搜索RPM包
9.2.3 安装RPM包
9.2.4 卸载RPM包
9.2.5 升级RPM包
9.2.6 使用本地光盘制作yum源
9.2.7 利用yum工具下载RPM包
9.3 安装源码包
9.3.1 下载源码包
9.3.2 解压源码包
9.3.3 配置相关的选项并生成Makefile
9.3.4 进行编译
9.3.5 安装
9.4 课后习题
10 shell基础知识
10.1 什么是shell
10.1.1 记录命令历史
10.1.2 命令和文件名补全
10.1.3 别名
10.1.4 通配符
10.1.5 输入/输出重定向
10.1.6 管道符
10.1.7 作业控制
10.2 变量
10.2.1 命令env
10.2.2 命令set
10.3 系统环境变量与个人环境变量的配置文件
10.4 Linux shell中的特殊符号
10.4.1 *代表零个或多个任意字符
10.4.2 ?只代表一个任意的字符
10.4.3 注释符号
10.4.4 脱义字符\
10.4.5 再说管道符|
10.4.6 特殊符号$
10.4.7 特殊符号;
10.4.8 特殊符号~
10.4.9 特殊符号&
10.4.10 重定向符号>、>>、2>和2>>
10.4.11 中括号[]
10.4.12 特殊符号&&和||
10.5 课后习题
11 正则表达式
11.1 grep/egrep工具的使用
11.1.1 过滤出带有某个关键词的行,并输出行号
11.1.2 过滤出不带有某个关键词的行,并输出行号
11.1.3 过滤出所有包含数字的行
11.1.4 过滤出所有不包含数字的行
11.1.5 过滤掉所有以 开头的行
11.1.6 过滤掉所有空行和以 开头的行
11.1.7 过滤出任意一个字符和重复字符
11.1.8 指定要过滤出的字符出现次数
11.1.9 过滤出一个或多个指定的字符
11.1.10 过滤出零个或一个指定的字符
11.1.11 过滤出字符串1或者字符串2
11.1.12 egrep中()的应用
11.2 sed工具的使用
11.2.1 打印某行
11.2.2 打印包含某个字符串的行
11.2.3 删除某些行
11.2.4 替换字符或者字符串
11.2.5 调换两个字符串的位置
11.2.6 直接修改文件的内容
11.2.7 sed练习题
11.3 awk工具的使用
11.3.1 截取文档中的某个段
11.3.2 匹配字符或者字符串
11.3.3 条件操作符
11.3.4 awk的内置变量
11.3.5 awk中的数学运算
11.3.6 awk练习题
11.4 课后习题
12 shell脚本
12.1 什么是shell脚本
12.1.1 shell脚本的创建和执行
12.1.2 命令date
12.2 shell脚本中的变量
12.2.1 数学运算
12.2.2 和用户交互
12.2.3 shell脚本预设变量
12.3 shell脚本中的逻辑判断
12.3.1 不带else
12.3.2 带有else
12.3.3 带有elif
12.3.4 和文档相关的判断
12.3.5 case逻辑判断
12.4 shell脚本中的循环
12.4.1 for循环
12.4.2 while循环
12.5 shell脚本中的函数
12.6 shell脚本中的中断和继续
12.6.1 break
12.6.2 continue
12.6.3 exit
12.7 shell脚本练习题
12.8 课后习题
13 Linux系统管理技巧
13.1 监控系统的状态
13.1.1 使用w命令查看当前系统的负载
13.1.2 用vmstat命令监控系统的状态
13.1.3 用top命令显示进程所占的系统资源
13.1.4 用sar命令监控系统状态
13.1.5 用nload命令查看网卡流量
13.1.6 用free命令查看内存使用状况
13.1.7 用ps命令查看系统进程
13.1.8 用netstat命令查看网络状况
13.2 抓包工具
13.2.1 tcpdump工具
13.2.2 wireshark工具
13.3 Linux网络相关
13.3.1 用ifconfig命令查看网卡IP
13.3.2 给一个网卡设定多个IP
13.3.3 查看网卡连接状态
13.3.4 更改主机名
13.3.5 设置DNS
13.4 Linux的防火墙
13.4.1 SELinux
13.4.2 netfilter
13.4.3 firewalld
13.5 Linux系统的任务计划
13.5.1 命令crontab
13.5.2 cron练习题
13.6 Linux系统服务管理
13.6.1 chkconfig服务管理工具
13.6.2 systemd服务管理
13.7 Linux下的数据备份工具rsync
13.7.1 rsync的命令格式
13.7.2 rsync常用选项
13.7.3 rsync应用实例
13.8 Linux系统日志
13.8.1 /var/log/messages
13.8.2 dmesg
13.8.3 安全日志
13.9 xargs与exec
13.9.1 xargs应用
13.9.2 exec应用
13.10 screen工具介绍
13.10.1 使用nohup
13.10.2 screen工具的使用
13.11 课后习题
14 LAMP环境搭建与配置
14.1 安装MySQL
14.1.1 下载软件包
14.1.2 初始化
14.1.3 配置MySQL
14.2 安装Apache
14.3 安装PHP
14.4 配置httpd支持PHP
14.5 测试LAMP是否成功
14.5.1 测试配置文件是否正确
14.5.2 测试是否正确解析PHP
14.6 httpd配置
14.6.1 默认虚拟主机
14.6.2 用户认证
14.6.3 配置域名跳转
14.6.4 配置访问日志
14.6.5 配置静态元素过期时间
14.6.6 配置防盗链
14.6.7 访问控制
14.7 PHP配置
14.7.1 PHP的disable_functions
14.7.2 配置error_log
14.7.3 配置open_basedir
14.8 PHP动态扩展模块安装
14.9 课后习题
15 LNMP环境配置
15.1 安装MySQL
15.2 安装PHP
15.3 安装Nginx
15.4 Nginx配置
15.4.1 默认虚拟主机
15.4.2 用户认证
15.4.3 域名重定向
15.4.4 Nginx的访问日志
15.4.5 配置静态文件不记录日志并添加过期时间
15.4.6 Nginx防盗链
15.4.7 访问控制
15.4.8 Nignx解析PHP
15.4.9 Nginx代理
15.4.10 Nignx配置SSL
15.5 php-fpm配置
15.5.1 php-fpm的pool
15.5.2 php-fpm的慢执行日志
15.5.3 php-fpm定义open_basedir
15.5.4 php-fpm进程管理
15.6 课后习题
16 常用MySQL操作
16.1 更改MySQL数据库root的密码
16.2 连接数据库
16.3 MySQL基本操作的常用命令
16.3.1 查询当前库
16.3.2 查询某个库的表
16.3.3 查看某个表的全部字段
16.3.4 查看当前是哪个用户
16.3.5 查看当前所使用的数据库
16.3.6 创建一个新库
16.3.7 创建一个新表
16.3.8 查看当前数据库的版本
16.3.9 查看MySQL的当前状态
16.3.10 查看MySQL的参数
16.3.11 修改MySQL的参数
16.3.12 查看当前MySQL服务器的队列
16.3.13 创建一个普通用户并授权
16.4 常用的SQL语句
16.4.1 查询语句
16.4.2 插入一行
16.4.3 更改表的某一行
16.4.4 清空某个表的数据
16.4.5 删除表
16.4.6 删除数据库
16.5 MySQL数据库的备份与恢复
16.5.1 MySQL备份
16.5.2 MySQL恢复
16.6 课后习题
17 NFS服务配置
17.1 服务端配置NFS
17.2 客户端挂载NFS
17.3 命令exportfs
17.4 课后习题
18 配置FTP服务
18.1 使用vsftpd搭建FTP服务
18.1.1 安装vsftpd
18.1.2 建立账号
18.1.3 创建和用户对应的配置文件
18.1.4 修改全局配置文件/etc/vsftpd/vsftpd.conf
18.2 安装配置pure-ftpd
18.2.1 安装pure-ftpd
18.2.2 配置pure-ftpd
18.2.3 建立账号
18.2.4 测试pure-ftpd
18.3 课后习题
19 配置Tomcat
19.1 安装Tomcat
19.1.1 安装JDK
19.1.2 安装Tomcat
19.2 配置Tomcat
19.2.1 配置Tomcat服务的访问端口
19.2.2 Tomca的虚拟主机
19.3 测试Tomcat解析JSP
19.4 Tomcat日志
19.5 Tomcat连接MySQL
20 MySQL Replication配置
20.1 配置MySQL服务
20.2 配置Replication
20.2.1 设置主(master)
20.2.2 设置从(slave)
20.3 测试主从
20.4 课后习题
21 Linux集群
21.1 搭建高可用集群
21.1.1 keepalived工作原理
21.1.2 安装keepalived
21.1.3 keepalived+Nginx实现Web高可用
21.2 搭建负载均衡集群
21.2.1 LVS介绍
21.2.2 LVS的调度算法
21.2.3 NAT模式LVS搭建
21.2.4 DR模式LVS搭建
21.2.5 keepalived+LVS
21.3 课后习题
22 配置监控服务器
22.1 Zabbix监控介绍
22.1.1 Zabbix组件
22.1.2 Zabbix架构
22.2 Zabbix监控安装和部署
22.2.1 用yum安装Zabbix
22.2.2 配置Nginx
22.2.3 配置MySQL
22.2.4 配置Web界面
22.2.5 Zabbix客户端部署
22.3 Zabbix配置和使用
22.3.1 忘记Admin密码
22.3.2 添加主机
22.3.3 添加模板
22.3.4 主机链接模板
22.3.5 图形中的中文乱码
22.3.6 添加自定义监控项目
22.3.7 配置告警
思维导图
防止博客图床图片失效,防止图片源站外链:
http://www.processon.com/chart_image/5e5b2eb5e4b02bc3ad6a11b7.png)
思维导图在线编辑链接: