专栏文章:一步到位玩透Ansible


这些是我录制的视频课程,可点我加QQ群921383787或在评论中找我拿优惠券噢。

视频课程

Shell精品进阶教程:理解Shell的方方面面

链接:Shell精品进阶教程:理解Shell的方方面面

本套课程是借助bash来对Shell解释器方方面面的深入探索,循序渐进分析Shell各方面的特性,从而从根上系统并深入地掌握Shell相关的知识,对其特性、用法、工作机制等各方面知根知底,对了解操作系统、进阶Shell脚本能力、命令行排错等等方面都大有裨益,可以免去不断翻看man bash以及《UNIX环境高级编程》(APUE)中和Shell有关的知识。

本课程要求已经具备编写Shell脚本的基本能力,虽然本课程不是Shell脚本的教程,但本课程的主题”Shell解释器和Shell特性”是进阶Shell脚本至精通必须掌握的内容,学完本课程将能为写Shell脚本提供大量思路,能看懂并写出那些曾经看不下去的『高级』Shell脚本,并能练就一双在Shell脚本排错时的火眼金睛。

课程目录

  1. 课程概述
  2. 从bash解释器开始
  3. bash启动和环境配置
    3-1.bash交互式和登录式的判断
    3-2.bash如何读取配置文件
  4. 进程基础
    4-1.一些进程基础概念
    4-2.伪代码演示进程操作
    4-3.模拟并理解僵尸进程和孤儿进程
  5. 管道和IObuffer
    5-1.管道的基本特性
    5-2.管道的陷阱示例分析
    5-3.管道示例分析IO buffer的类型
    5-4.IO buffer的层次
    5-5.命名管道
  6. shell内置结构的陷阱
  7. 进程替换、命令替换、后台进程
  8. 命令组合
  9. (补)shell read读取文件和read替换管道
  10. 重定向
    9-1.重定向基础
    9-2.基础重定向操作和exec
    9-3.高级重定向
    9-4.高级重定向用法示例:实现真正的临时文件
    9-5.示例:在shell中实现进程池功能
  11. shell解析命令行
    10-1.shell解析命令:简介
    10-2.shell解析命令行示例分析:如何把sed和awk的命令行写正确
    10-3.shell解析命令行:shell解析和命令行自身的解析
    10-4.shell解析命令行:shell解析命令行的细节
  12. 作用域
  13. 信号和信号捕获
    12-1.信号理论
    12-2.shell的trap用法
    12-3.shell脚本中使用trap
    12-4.shell信号和trap的注意事项
  14. 子shell和shell环境
    13-1.什么是子shell以及子shell特点
    13-2.什么时候会进入新的shell环境
  15. wait
  16. 终端、进程组、会话
    15-1.关于终端进程组会话的一点说明
    15-2.登录终端
    15-3.进程组
    15-4.shell session
    15-5.ps命令查看作业相关信息
    15-6.终端、进程组、会话和shell之间的关系
  17. 脱离终端的几种方法
  18. 后台作业
  19. shell脚本一些技巧或一些shell脚本规范
    19-1.shell脚本技巧之文件锁(1):文件存在性判断
    19-2.shell脚本技巧之文件锁(2):flock命令的用法
    19-3.flock底层原理和生效机制
    19-4.设计脚本选项(1):getopt介绍及命令用法
    19-5.设计脚本选项(2):getopt设计脚本选项示例
    19-6.tee命令的花式用法和pee命令

正则表达式入门教程

课程链接:**正则表达式入门教程**

揭开正则匹配的面纱:精通高级正则表达式

课程链接:**揭开正则匹配的面纱:精通高级正则表达式**

本课程旨在介绍高级正则表达式相关知识,主要有两方面:高级正则一些功能的用法、大量原理性的东西。

其中包含了DFA/NFA引擎的介绍、回溯是什么、大量正则匹配过程的分析、高级正则功能(环视锚定、命名捕获、固化分组、非贪婪匹配、占有优先匹配、递归正则……)、正则性能分析,等等。课程借助Perl、Ruby和RegexBuddy这3种工具进行解释和分析

课程难度较高,要求已经具有正则基础知识(至少已经会写基本的正则表达式),如果不具备基础知识,可观看我的正则入门课程:https://edu.51cto.com/sd/73e2f

课程目录

  • 1.课程简介
  • 2.工具介绍:Perl和Ruby中使用正则表达式
  • 3.工具介绍:正则调试工具RegexBuddy的用法
  • 4.正则表达式全局工作流程
  • 5.正则基础回顾:何为正则元素
  • 6.正则表达式的匹配过程(简单版)
  • 7.分析DFA和NFA正则引擎的特点以及不同的匹配机制
  • 8.什么是回溯以及回溯为什么是性能杀手
  • 9.反斜线序列之字符匹配
  • 10.反斜线序列之位置锚定
  • 11.^$为什么能匹配空行
  • 12.详细分析贪婪匹配、非贪婪匹配和占有优先匹配
  • 13.详细分析环视锚定
  • 14.分组捕获、只分组不捕获和固化分组
  • 15.匹配模式修饰符:imsx
  • 16.优化正则表达式(1):只编译一次修饰符o
  • 17.全局匹配修饰符:g和c
  • 18.递归正则表达式(1):简单介绍
  • 19.递归正则表达式(2):理解反向引用和递归引用
  • 20.递归正则表达式(3):初探递归正则如何匹配
  • 21.递归正则表达式(4):如何保证递归的终点
  • 22.递归正则表达式(5):再探递归正则如何匹配
  • 23.递归正则表达式(6):分组的递归
  • 24.递归正则表达式(7):编写递归正则(入门)
  • 25.递归正则表达式(8):编写递归正则(进阶)
  • 26.递归正则表达式(9):递归结合二选一分支
  • 27.递归正则表达式(10):递归正则的性能问题
  • 28.递归正则表达式(11):递归正则的分组捕获问题
  • 29.优化正则表达式性能的几种常见手段

精通awk精品课程:awk从入门到精通

课程链接:精通awk精品课程:awk从入门到精通

这是本人的再一套精品课程,目的是让在座的各位能够真正精通awk这个文本处理工具,将awk玩成人精。内容比较多,干活也非常多。

课程目录

  • 1.课程介绍
  • 2.读取文件的几种方式
  • 3.awk用法入门
  • 4.BEGIN语句块和END语句块
  • 5.安装新版本(4.2.0版)的gawk
  • 6.详细解释awk命令行结构和语法结构
  • 7.awk的几种pattern结构
  • 8.解释awk如何读取文件以及RS变量
  • 9.特殊的RS值解决特殊的读取需求
  • 10.两种行号:NR和FNR
  • 11.awk划分字段的过程以及引用字段
  • 12.划分字段方式(1):FS字段分隔符
  • 13.划分字段方式(2):FIELDWIDTHS按宽度划分字段
  • 14.划分字段方式(3):FPAT收集字段
  • 15.检测使用何种方式划分字段
  • 16.修改字段或NF的值导致$0重建的联动效应
  • 17.awk筛选数据和处理字段的几个示例
  • 18.awk实战案例(1):awk从ifconfig命令中筛选ipv4的几种方式
  • 19.详细分析awk的工作流程
  • 20-1.getline用法简介
  • 20-2.getline无参数和一个参数的用法
  • 20-3.getline从指定文件中读取数据
  • 20-4.getline从Shell命令中读取数据
  • 20-5.getline的协程(coprocess)用法详解
  • 21.IO类内置函数(1):close()函数
  • 22.IO类内置函数(2):system()执行Shell命令和fflush()刷出缓冲
  • 23.输出操作:print()函数
  • 24.输出操作:printf()和sprintf()
  • 25.awk中的重定向
  • 26.awk变量简介以及typeof()
  • 27.awk中变量赋值的技巧
  • 28.awk 3种变量赋值方式及awk引用Shell变量
  • 29.awk基本数据类型和类型转换
  • 30.数值字面量和字符串字面量
  • 31.正则匹配的坑以及4.2.0版本支持的正则类型
  • 32.gawk中支持的正则表达式
  • 33.布尔值和逻辑运算
  • 34.读取指定范围的行
  • 35.strnum类型
  • 36.运算符优先级
  • 37.流程控制结构:if语句
  • 38.流程控制结构:三目运算
  • 39.流程控制结构:switch…case
  • 40.while循环和for循环
  • 41.break、continue、next、nextfile和exit
  • 42.数组介绍
  • 43.数组基本用法
  • 44.判断数组中是否包含某元素
  • 45.数组的遍历
  • 46.复合索引的数组
  • 47.指定遍历数组时的顺序
  • 48.awk实战案例(2):使用数组进行统计
  • 49.ARGC和ARGV
  • 50.对ARGC和ARGV进行操刀
  • 51.内置函数:数值类内置函数
  • 52.字符串内置函数(1)
  • 53.字符串内置函数(2)
  • 54.字符串内置函数(3):match
  • 55.字符串内置函数(4):sub()、gsub()和gensub()
  • 56.自定义函数
  • 57.参数传值方式:按值传递还是按引用传递
  • 58.作用域和局部变量的实现
  • 59.自定义函数的示例
  • 60.awk处理时间
  • 61.awk将日志中的时间字符串转换成数值时间
  • 62.使用gawk的扩展
  • 63.awk实战案例(3):去除/**/注释内容
  • 64.awk实战案例(4):前后段落依赖判断
  • 65.awk实战案例(5):行列转换
  • 66.awk实战案例(6):精确到秒的日志时间筛选

Awk经典实战案例精讲

课程链接:Awk经典实战案例精讲

本课程只讲常见的、典型的、具有代表性的awk的实战案例,也包括运维面试常见题。

课程目录

  • 1.插入新字段和格式化空白
  • 2.从ifconfig中筛选IPv4地址
  • 3.读取配置文件中的某一段
  • 4.根据字段进行去重
  • 5.使用awk数组做次数统计
  • 6.统计日志中状态码非200的IP数量
  • 7.根据多条件统计独立IP的次数并保存到文件
  • 8.字段缺失和字段中包含字段分隔符的处理方式
  • 9.取字段中指定字符数量
  • 10.行列转换
  • 11-1.awk中处理时间字符串
  • 11-2.awk筛选精确到秒级别的日志
  • 12.去掉注释内容
  • 13.前后段落依赖判断
  • 14.两个文件的处理

熟练使用vagrant管理虚拟机

课程链接熟练使用vagrant管理虚拟机

课程目录

  • 1.vagrant功能介绍
  • 2.演示vagrant批量创建虚拟机
  • 3.安装vagrant并设置VAGRANT_HOME
  • 4.vagrant从国内镜像站下载并创建虚拟机
  • 5.vagrant创建虚拟机后做了哪些工作
  • 6.vagrant管理虚拟机的常用命令
  • 7.vagrant管理虚拟机快照
  • 8.vagrant管理hyper-v虚拟机
  • 9.vagrant添加box镜像模板
  • 10.设置vagrant的几个名称
  • 11.vagrant provision:创建虚拟机时执行任务
  • 12.vagrant批量创建虚拟机(1)
  • 13.vagrant批量创建虚拟机(2)
  • 14.vagrant配置端口转发
  • 15.介绍virtualbox的五种网络模型
  • 16.vagrant配置virtualbox虚拟机网络
  • 17.vagrant目录同步功能
  • 18.vagrant链接克隆virtualbox虚拟机
  • 19.wsl2中使用vagrant以及并行加速创建虚拟机