骏马金龙

网名骏马金龙,钟情于IT世界里的各种原理和实现机制,强迫症重症患者。爱研究、爱翻译、爱分享。特借此一亩三分田记录自己成长点滴!!!
我本问道人,道心不坚,必将与道无缘!

摘要:这些是我录制的视频课程,可 "点我加QQ群921383787" 或在评论中找我拿优惠券噢。 专栏文章:《一步到位玩儿透Ansible》 地址:https://blog.51cto.com/cloumn/detail/83 专栏目录 : 1. 学习不迷茫:Ansible要如何学至精通 2. 初入Ans 阅读全文
posted @ 2019-11-03 10:52 骏马金龙 阅读 (2445) 评论 (0) 编辑
摘要:这是正则表达式从入门学习到深入掌握各种技巧的教程系列,使用了不同语言描述,但对于正则理念来说是完全通用的。最后还差一篇正则性能优化的文章,有机会再补上。 我已经录了正则表达式的两门课程:参见 "视频教程汇总" 1. "基础正则表达式" 2. "Perl正则表达式超详细教程" 3. "递归正则表达式详 阅读全文
posted @ 2019-09-21 10:15 骏马金龙 阅读 (458) 评论 (0) 编辑
摘要:"安装Ruby、多版本Ruby共存、Ruby安装慢问题" "Ruby语言的一些杂项" "Ruby中的常量:引号、%符号和heredoc" "Ruby中的数值" "Ruby字符串(1):String基本用法" "Ruby字符串(2):String方法详细整理" "Ruby数组(1):基本用法" "Ru 阅读全文
posted @ 2019-05-03 16:36 骏马金龙 阅读 (1318) 评论 (5) 编辑
摘要:前面带有 符号的是 待补充文章 ,有些可能在随后会跟着补上,有些可能有缘再补😄。 Python语法基础 菜鸟一枚,错误在所难免,还望发现错误后能够提出 。 1. 基础数据类型 "数值类型" "布尔类型和逻辑运算" "等值和大小比较" "字符串" "字符串(string)方法整理" "字符串格式化输 阅读全文
posted @ 2018-10-22 20:41 骏马金龙 阅读 (14299) 评论 (7) 编辑
摘要:这个系列写的不是很好,未来重构。 Go基础系列 |Go基础|Go基础| | | | | "1.Go简介" | "2.Go数据结构struct" | | "3.构建Go程序" | "4.import导包和初始化阶段" | | "5.array" | "6.Slice详解" | | "7.map" | 阅读全文
posted @ 2018-10-22 20:24 骏马金龙 阅读 (10611) 评论 (0) 编辑
摘要:0.Perl书籍推荐 " Perl书籍下载 " 密码:kkqx 下面是一些我学习Perl过程中读过完整的或部分章节的觉得好的书。 入门级别1 :《Perl语言入门》即小骆驼 入门级别2 :《Intermediate Perl》即羊驼 入门后复习 :《beginning Perl》 系统性学习和进阶 阅读全文
posted @ 2018-08-21 16:32 骏马金龙 阅读 (6005) 评论 (0) 编辑
摘要:今天下午突然看到: 原来,我已经写了300多篇博客了。现在想想,我收获了很多,也失去了很多。现在我想写一篇文章,感想类的文章,也是这么久以来、这么多文章中唯一的一篇非技术类文章。 开写之前,先把我写的3大系列文章的目录贴出来,目前为止几乎所有文章都在这3个系列里。 "Linux & shell基础系 阅读全文
posted @ 2018-07-16 00:42 骏马金龙 阅读 (16255) 评论 (139) 编辑
摘要:以下是本系列文章的大纲,此页博文完全原创,花费了作者本人的极大心血,如转载,请务必标明原文链接。 如果觉得文章不错,还请帮忙点下"推荐",各位的支持,能激发和鼓励我更大的写作热情。在此先行谢过! 为了让文章列表更紧凑,字体比较小。如果看着不太爽,请缩放页面150% 1.MySQL/MariaDB语法 阅读全文
posted @ 2017-09-24 09:41 骏马金龙 阅读 (24980) 评论 (4) 编辑
摘要:博文完全原创,花费了作者本人的极大心血,如转载,请务必标明原文链接。 为了让文章列表更紧凑,字体比较小。如果看着不太爽,请缩放页面150% 还请随手点下"推荐",各位的支持和肯定能激发和鼓励我更强烈的写作热情。谢谢! 推荐书籍:《大型网站技术架构:核心原理与案例分析》。最直接的感受是:这是一本好书, 阅读全文
posted @ 2017-09-22 17:45 骏马金龙 阅读 (32730) 评论 (15) 编辑
摘要:本人已经此系列的sed文章整理到pdf中,欢迎下载:玩透sed:探究sed原理 sed系列文章: sed修炼系列(一):花拳绣腿之入门篇sed修炼系列(二):武功心法(info sed翻译+注解)sed修炼系列(三):sed高级应用之实现窗口滑动技术sed修炼系列(四):sed中的疑难杂症 说明: 阅读全文
posted @ 2017-09-09 21:54 骏马金龙 阅读 (3157) 评论 (1) 编辑
摘要:我将尽量写出整个体系的内容,初学的朋友可以视之为学习资料,如同看书一样。虽然网上培训视频比较好入门,大方向上的知识点也还算完整,我个人也是这么入门的(基本上看完了某哥和某孩共两整期的视频课程),但看完后入门了,在回炉深造的时候,却发现这些视频课程缺少很多内容,甚至说,看完视频会遗漏很多非常重要的知识 阅读全文
posted @ 2017-06-19 13:52 骏马金龙 阅读 (92124) 评论 (50) 编辑
摘要:openssl系列篇(翻译整理man文档以及用法示例) 证书请求、证书颁发、CA相关 阅读全文
posted @ 2016-11-22 21:09 骏马金龙 阅读 (1172) 评论 (3) 编辑
摘要:Shell脚本杀掉除自己外的旧进程 在写后台Shell脚本的时候,这是比较常见的一个需求。比如之前运行了一个叫做a.sh的脚本在后台运行,后来更新了a.sh脚本想重新运行,但却不想手动杀掉已经存在的后台a.sh进程。 命令其实非常简单: 其中 是筛选出除脚本自己之外的旧进程的PID。 这里的 做了些 阅读全文
posted @ 2020-04-04 10:40 骏马金龙 阅读 (19) 评论 (0) 编辑
摘要:回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" 数组 awk数组特性: awk的数组是关联数组(即key/value方式的hash数据结构),索引下标可为数值(甚至是负数、小数等),也可为字符串 在内部,awk数组的索引全都是字符串,即使是数值索引在使用时内部也会转换成字 阅读全文
posted @ 2020-02-29 11:34 骏马金龙 阅读 (58) 评论 (0) 编辑
摘要:回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" break和continue break可退出for、while、do...while、switch语句。 continue可让for、while、do...while进入下一轮循环。 next和nextfile next会 阅读全文
posted @ 2020-02-29 11:25 骏马金龙 阅读 (97) 评论 (0) 编辑
摘要:回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" 流程控制语句 注:awk中语句块没有作用域,都是全局变量。 代码块 if...else 搞笑题:妻子告诉程序员老公,去买一斤包子,如果看见卖西瓜的,就买两个。结果是买了两个包子回来。 switch...case awk 中的 阅读全文
posted @ 2020-02-29 11:18 骏马金龙 阅读 (53) 评论 (0) 编辑
摘要:回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" awk布尔值 在awk中,没有像其它语言一样专门提供true、false这样的关键字。 但它的布尔值逻辑非常简单: 数值0表示布尔假 空字符串表示布尔假 其余所有均为布尔真 字符串"0"也是真,因为它是字符串 awk中,正则 阅读全文
posted @ 2020-02-29 11:08 骏马金龙 阅读 (31) 评论 (0) 编辑
摘要:"点我查看秘籍连载" 进程状态以及状态转换 进程并非总是处于运行中,例如CPU没运行在它身上时它就是非运行的。进程在创建之后会改变状态,不同的状态之间可以实现状态切换,可以通过ps或top等命令捕获进程的状态。包含以下几种状态: 创建态(new):进程正在被创建中,过程非常短暂,用户无法捕捉 运行态 阅读全文
posted @ 2020-02-29 10:19 骏马金龙 阅读 (226) 评论 (1) 编辑
摘要:Shell脚本基础入门 Bash注释 Bash只支持单行注释,使用 开头的都被当作注释语句: 通过Bash的一些特性,可以取巧实现多行注释: 所以,默认情况下读写数据都是终端,例如: 改变文件描述符对应的目标,可以改变数据的流向。比如标准输入fd=1默认流向是终端设备,若将其改为/tmp/a.log 阅读全文
posted @ 2020-02-08 11:30 骏马金龙 阅读 (320) 评论 (1) 编辑
摘要:回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" gawk支持的正则 . 匹配任意字符,包括换行符 ^ $ [...] [^...] | + ? () {m} {m,} {m,n} {,n} [:lower:] [:upper:] [:alpha:] [:digit:] [ 阅读全文
posted @ 2019-12-08 14:16 骏马金龙 阅读 (167) 评论 (0) 编辑
摘要:回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" 数据类型 gawk有两种基本的数据类型:数值和字符串。在gawk 4.2.0版本中,还支持第三种基本的数据类型:正则表达式类型。 数据是什么类型在使用它的上下文中决定: 在字符串操作环境下将转换为字符串,在数值操作环境下将转 阅读全文
posted @ 2019-12-08 14:11 骏马金龙 阅读 (56) 评论 (0) 编辑
摘要:回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" awk变量 awk的变量是动态变量,在使用时声明。 所以awk变量有3种状态: 未声明状态:称为untyped类型 引用过但未赋值状态:unassigned类型 已赋值状态 引用未赋值的变量,其默认初始值为空字符串或数值0 阅读全文
posted @ 2019-12-08 13:58 骏马金龙 阅读 (83) 评论 (0) 编辑
摘要:回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" 输出操作 awk可以通过print、printf将数据输出到标准输出或重定向到文件。 print 逗号分隔要打印的字段列表,各字段都 会自动转换成字符串格式 ,然后通过预定义变量OFS(output field separa 阅读全文
posted @ 2019-12-08 13:56 骏马金龙 阅读 (296) 评论 (0) 编辑
摘要:回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" 介绍 这些案例是我收集起来的,大多都是我自己遇到过的,有些比较经典,有些比较具有代表性。 这些awk案例我也录了相关视频的讲解 "awk 18个经典实战案例精讲" ,欢迎大家去瞅瞅。 插入几个新字段 在"a b c d"的b 阅读全文
posted @ 2019-11-27 17:29 骏马金龙 阅读 (762) 评论 (0) 编辑
摘要:回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" getline用法详解 除了可以从标准输入或非选项型参数所指定的文件中读取数据,还可以使用getline从其它各种渠道获取需要处理的数据,它的用法有很多种。 getline的返回值: 如果可以读取到数据,返回1 如果遇到了E 阅读全文
posted @ 2019-11-23 16:12 骏马金龙 阅读 (151) 评论 (0) 编辑
摘要:回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" awk工作流程 参考自: 的"AWK PROGRAM EXECUTION"段。 执行步骤 : 阅读全文
posted @ 2019-11-23 16:06 骏马金龙 阅读 (74) 评论 (0) 编辑
摘要:回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" awk数据筛选示例 筛选行 awk运维面试试题 从ifconfig命令的结果中筛选出除了lo网卡外的所有IPv4地址。 阅读全文
posted @ 2019-11-23 15:57 骏马金龙 阅读 (275) 评论 (0) 编辑
摘要:回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" 修改字段或NF值的联动效应 注意下面的分割和计算两词:分割表示使用FS(field Separator),计算表示使用预定义变量OFS(Output Field Separator)。 1. 修改 ,将使用 重新分割字段,所 阅读全文
posted @ 2019-11-23 15:56 骏马金龙 阅读 (75) 评论 (0) 编辑
摘要:回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" 详细分析awk字段分割 awk读取每一条记录之后,会将其赋值给 ,同时还会对这条记录按照 预定义变量FS 划分字段,将划分好的各个字段分别赋值给 ,同时将划分的字段数量赋值给 预定义变量NF 。 引用字段的方式 引用字段: 阅读全文
posted @ 2019-11-23 15:49 骏马金龙 阅读 (261) 评论 (0) 编辑
摘要:回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" 详细分析awk如何读取文件 awk读取输入文件时,每次读取一条记录(record)(默认情况下按行读取,所以此时记录就是行)。每读取一条记录,将其保存到 中,然后执行一次main代码段。 如果是空文件,则因为无法读取到任何一 阅读全文
posted @ 2019-11-23 15:43 骏马金龙 阅读 (142) 评论 (0) 编辑
摘要:回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" awk命令行结构和语法结构 awk命令行结构 其中: awk语法结构 awk语法结构即awk代码部分的结构。 awk的语法充斥着 的模式,它们称为awk rule。 例如: 上面示例中,有BEGIN语句块,有END语句块,还 阅读全文
posted @ 2019-11-23 15:38 骏马金龙 阅读 (95) 评论 (0) 编辑
摘要:回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" BEGIN和END语句块 awk的所有代码(目前这么认为)都是写在语句块中的。 例如: 每个语句块前面可以有pattern,所以格式为: 语句块可分为3类:BEGIN语句块、END语句块和main语句块。其中BEGIN语句块 阅读全文
posted @ 2019-11-23 15:33 骏马金龙 阅读 (220) 评论 (0) 编辑
摘要:回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" awk用法入门 awk示例: 对于 ,它类似于shell的while循环`while read line;do echo "$line";done 阅读全文
posted @ 2019-11-23 15:29 骏马金龙 阅读 (92) 评论 (0) 编辑
摘要:回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" 读取文件的几种方式 读取文件有如下几种常见的方式: 下面使用Shell的read命令来演示前4种读取文件的方式(第五种按字节数读取的方式read不支持)。 按字符数量读取 read的 n选项和 N选项可以指定一次性读取多少个 阅读全文
posted @ 2019-11-23 15:20 骏马金龙 阅读 (124) 评论 (0) 编辑
摘要:回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" 本系列的awk教程中,将大量使用到如下示例文件a.txt。 阅读全文
posted @ 2019-11-23 14:30 骏马金龙 阅读 (99) 评论 (0) 编辑
摘要:回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" 安装新版本gawk awk有很多种版本,例如nawk、gawk。gawk是GNU awk,它的功能很丰富。 本教程采用的是gawk 4.2.0版本,4.2.0版本的gawk是一个比较大的改版,新支持的一些特性非常好用,而在低 阅读全文
posted @ 2019-11-23 14:29 骏马金龙 阅读 (315) 评论 (0) 编辑
摘要:"点我查看秘籍连载" 进程表和进程数据结构 内核负责管理维护所有进程,为了管理进程,内核在内核空间维护了一个称为 进程表 (Process Table)的数据结构,这个数据结构中记录了所有进程,每个进程在数据结构中都称为一个 进程表项 (Process Table Entry),如图。 从图中可知, 阅读全文
posted @ 2019-11-21 22:44 骏马金龙 阅读 (132) 评论 (0) 编辑
摘要:"点我查看秘籍连载" 进程基础 程序和进程 什么是程序?什么是进程?程序和进程之间的关系?相信在任何介绍进程基础的地方都会解释一下程序和进程之间的关系,这是一个常识性的知识。 单独来看程序和进程,它们的概念都非常的简单。粗略去看,程序是一个或多个文件,进程是操作系统上能做某些事情的东西。 更标准一点 阅读全文
posted @ 2019-11-20 22:36 骏马金龙 阅读 (101) 评论 (0) 编辑
摘要:"点我查看秘籍连载" 锁 计算机领域中,锁机制使用的非常多。它主要是为了避免多个进程访问同一资源时,可能出现的数据不一致问题。 例如,cat命令输出一个比较大的文件内容,cat命令的特性是需要先将所有磁盘文件数据读取到内存后再输出,所以cat输出一个大文件可能需要花费一些时间。如果在cat在加载文件 阅读全文
posted @ 2019-11-18 13:22 骏马金龙 阅读 (57) 评论 (0) 编辑
摘要:"点我查看秘籍连载" 信号量 信号量(Semaphore)也称为信号灯,典故来源于荷兰:火车根据旗标来决定是否通行。其实就是红绿灯的作用。如图。 通过红绿灯理解信号和信号量,感觉它们似乎是一样的。但是,信号量机制是根据红绿灯的事件让人等待(进程阻塞)或不等待(进程继续运行),只有这两种行为;而信号机 阅读全文
posted @ 2019-11-18 13:21 骏马金龙 阅读 (33) 评论 (0) 编辑
摘要:"点我查看秘籍连载" 消息队列 消息队列(Message Queue)用于在进程之间传递较小的数据,进程可以向一个或多个消息队列中放入数据(消息),其它进程可以从消息队列中按照各种方式(例如最典型的先进先出FIFO方式)取出消息,从而实现进程间通信。 消息队列是一种生产者消费者模型,生产者生产消息放 阅读全文
posted @ 2019-11-18 13:19 骏马金龙 阅读 (68) 评论 (0) 编辑
摘要:"点我查看秘籍连载" 文件映射 文件映射(Memory mapped file)是将磁盘上文件的某段数据映射到内核的一段物理内存上,然后将此物理内存映射到一个或多个进程的虚拟内存中。映射了文件的进程可以直接读、写这段内存来达到读、写磁盘文件的功能。如果多个进程请求映射的文件区段相同,则只映射一次。 阅读全文
posted @ 2019-11-18 13:17 骏马金龙 阅读 (63) 评论 (0) 编辑
摘要:"点我查看秘籍连载" 套接字 套接字(Socket)用于协调不同计算机上的进程间通信,也就是基于网络的通信。当然,也可以在本机上使用套接字进行进程间的通信。 套接字通信的方式非常多,有Unix域套接字、TCP套接字、UDP套接字、链路层套接字等等。但最常用的肯定是TCP套接字。所以,这里介绍下TCP 阅读全文
posted @ 2019-11-18 13:16 骏马金龙 阅读 (363) 评论 (0) 编辑
摘要:"点我查看秘籍连载" 管道 管道是操作系统提供的一种最基本的进程间通信方式。每创建一个管道,就有两个文件描述符,一个是负责读管道的,一个是负责写管道的。所以,使用管道通信时,可以看作是两个文件描述符加一段内核空间中的内存,如图。 管道只能协调有亲缘关系的进程间通信,所谓亲缘,比如父子进程、兄弟进程。 阅读全文
posted @ 2019-11-18 13:11 骏马金龙 阅读 (86) 评论 (0) 编辑
摘要:"点我查看秘籍连载" 进程间通信 单机操作系统上的进程可以分为两类: 1.独立进程:这类进程不会和其它进程有任何交流。 2.协作进程:两个或多个进程之间需要交流。 例如, 命令是独立运行的,不依赖于其它进程,而 命令中的两个进程是协作进程,grep进程依赖于cat进程,grep只有等待到了cat进程 阅读全文
posted @ 2019-11-18 13:10 骏马金龙 阅读 (56) 评论 (0) 编辑
摘要:"点我查看秘籍连载" I/O操作和DMA、RDMA 用户进程想要执行IO操作时(例如想要读磁盘数据、向磁盘写数据、读键盘的输入等等),由于用户进程工作在用户模式下,它没有执行这些操作的权限,只能通过发起对应的系统调用请求操作系统帮忙完成这些操作。这里因为系统调用产生中断将陷入到内核,进行一次上下文切 阅读全文
posted @ 2019-11-17 10:17 骏马金龙 阅读 (338) 评论 (1) 编辑
摘要:"点我查看秘籍连载" 两个缓冲空间:kernel buffer和io buffer 先看一张图,稍后将围绕这张图展开描述。图中的fd table、open file table以及两个inode table都可以不用理解,只需要知道它们体现出来的文件描述符和磁盘文件之间的对应关系:文件描述符fd(例 阅读全文
posted @ 2019-11-16 08:58 骏马金龙 阅读 (280) 评论 (0) 编辑
摘要:Shell内置命令、外部命令、别名、函数、保留关键字的优先级 在Shell中,有5种可调用的东西:别名(alias)、函数(function)、shell保留关键字、shell内置命令、外部命令。 如果它们同名了,那么优先调用谁呢?可使用 查看。 内置命令、别名、函数、外部命令 $ alias ki 阅读全文
posted @ 2019-11-06 21:10 骏马金龙 阅读 (161) 评论 (0) 编辑
摘要:"点我查看秘籍连载" OOM和swap分区 进程的虚拟内存空间是映射到整个物理内存空间的,所以在进程自身看来它拥有了整个物理内存,它也能使用整个物理内存,只需在使用的时候请求操作系统帮忙分配更多空间即可。 但是,操作系统上并非只运行了一个进程,如果一个进程无休止的申请物理内存空间,最终会导致物理内存 阅读全文
posted @ 2019-11-04 18:48 骏马金龙 阅读 (176) 评论 (0) 编辑
摘要:"点我查看秘籍连载" 页翻译:快速地址转换 虽然操作系统通过页表也能将虚拟页翻译成内存中对应的页帧,但是它仍然很慢。另一方面,如果访问每个页都需要操作系统来参与帮忙翻译,这会频繁陷入内核,效率是非常低的。所以,这里再次将任务交给硬件CPU去做。 提示:操作系统将底层任务交给硬件提高效率 前文介绍段的 阅读全文
posted @ 2019-11-03 12:01 骏马金龙 阅读 (110) 评论 (0) 编辑
摘要:这些是我录制的视频课程,可 "点我加QQ群921383787" 或在评论中找我拿优惠券噢。 专栏文章:《一步到位玩儿透Ansible》 地址:https://blog.51cto.com/cloumn/detail/83 专栏目录 : 1. 学习不迷茫:Ansible要如何学至精通 2. 初入Ans 阅读全文
posted @ 2019-11-03 10:52 骏马金龙 阅读 (2445) 评论 (0) 编辑
摘要:"点我查看秘籍连载" 分页和页表 除了分段,空间管理的第二种常见方式是分页。 Linux将虚拟内存划分成固定大小的页(Linux中的页大小是4KB),并且以页作为操作内存的最小单元。例如一次性读取一页,虚拟内存中的页称为虚拟页。对应的,物理内存也会划分成固定大小的页来管理,称为物理页,也常称为 页框 阅读全文
posted @ 2019-11-02 18:11 骏马金龙 阅读 (174) 评论 (0) 编辑