课程大纲
1、 通过Shell进行文件处理
l 单文件处理命令: tail, head, cat, more, less, wc
Ø 实战:查看日志文件,显示头尾内容,分页查看,统计行数
l 管道符|和重定向>, <, >>
Ø 实战:对命令输出进行过滤、写入文件、追加文件
l 文件内容提取
Ø grep: 过滤整行,正则表达式,-A/-B上下文,-c计数,-v反向,-F固定模式等选项
Ø awk: 按列过滤,循环操作,内建变量,printf格式化输出
Ø sed: 替换,地址范围
Ø 实战:从日志提取错误信息,去除特殊字符,统计数量,格式化输出
l 正则表达式进阶
Ø 元字符,限定符,分组,反向引用,零宽断言,非贪婪模式
Ø POSIX字符类,GNU扩展正则
Ø 实战:匹配URL、Email、IP等,提取文件名,路径
2、Shell脚本编程基础回顾
l Shebang,脚本执行方式
l 变量,特殊变量,位置参数,引用
l 条件语句if,case
l 循环for,while,until,select
l 函数,参数,返回值
l 命令替换,引号
l 数组,关联数组
l 字符串操作
l 算术运算,(())和let
l 多文件处理
Ø 实战:合并多个文件,添加统计信息头,改名归档
3、服务器运维自动化
l SSH密钥认证,ssh-keygen,-f指定路径
l SSH执行远程命令和调用远程脚本,scp复制文件和文件夹
l pssh/pscp并行操作多台主机,pssh选项,-i指定密钥
4、容器化应用部署
l 镜像的获取和创建,Dockerfile
l 容器的管理,资源限制
l 部署MySQL,Redis,Nginx等
l 数据卷,链接容器
l Docker Compose编排多容器
l Docker Machine跨主机集群
l 实战:部署WordPress网站,配置主从库
5、远程修改服务器配置
l sed远程修改配置文件
l ssh修改配置,触发服务重启
l Ansible入门
Ø 主机清单编写,patterns匹配主机
Ø playbook编排,handlers,tags标签
Ø 常用模块:shell,command,copy,template,file,service等
Ø 角色roles复用,任务剧本引用
Ø 实战:收集主机信息,分发文件,管理服务,负载均衡配置修改
6、总结与实战演练
l 综合场景模拟:主机批量部署、应用发布上线
l 常见问题解答、故障排查技巧
l 复习重点,扩展学习方向与资源推荐