骏马金龙

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

摘要:这些是我录制的视频课程,可 "点我加QQ群921383787" 或在评论中找我拿优惠券噢。 1.Shell精品进阶教程:理解Shell的方方面面 "Shell精品进阶教程:理解Shell的方方面面" 课程目标 系统性的掌握shell相关知识,进阶shell脚本能力,对shell各方面了然于心 适用人 阅读全文
posted @ 2019-11-03 10:52 骏马金龙 阅读 (723) 评论 (0) 编辑
摘要:这是正则表达式从入门学习到深入掌握各种技巧的教程系列,使用了不同语言描述,但对于正则理念来说是完全通用的。最后还差一篇正则性能优化的文章,有机会再补上。 我已经录了正则表达式的两门课程:参见 "视频教程汇总" 1. "基础正则表达式" 2. "Perl正则表达式超详细教程" 3. "递归正则表达式详 阅读全文
posted @ 2019-09-21 10:15 骏马金龙 阅读 (291) 评论 (0) 编辑
摘要:"安装Ruby、多版本Ruby共存、Ruby安装慢问题" "Ruby语言的一些杂项" "Ruby中的常量:引号、%符号和heredoc" "Ruby中的数值" "Ruby字符串(1):String基本用法" "Ruby字符串(2):String方法详细整理" "Ruby数组(1):基本用法" "Ru 阅读全文
posted @ 2019-05-03 16:36 骏马金龙 阅读 (962) 评论 (0) 编辑
摘要:前面带有 符号的是 待补充文章 ,有些可能在随后会跟着补上,有些可能有缘再补😄。 Python语法基础 菜鸟一枚,错误在所难免,还望发现错误后能够提出 。 . 1. 基础数据类型 "数值类型" "布尔类型和逻辑运算" "等值和大小比较" "字符串" "字符串(string)方法整理" "字符串格式 阅读全文
posted @ 2018-10-22 20:41 骏马金龙 阅读 (11613) 评论 (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 骏马金龙 阅读 (8620) 评论 (0) 编辑
摘要:0.Perl书籍推荐 " Perl书籍下载 " 密码:kkqx 下面是一些我学习Perl过程中读过完整的或部分章节的觉得好的书。 入门级别1 :《Perl语言入门》即小骆驼 入门级别2 :《Intermediate Perl》即羊驼 入门后复习 :《beginning Perl》 系统性学习和进阶 阅读全文
posted @ 2018-08-21 16:32 骏马金龙 阅读 (4130) 评论 (0) 编辑
摘要:今天下午突然看到: 原来,我已经写了300多篇博客了。现在想想,我收获了很多,也失去了很多。现在我想写一篇文章,感想类的文章,也是这么久以来、这么多文章中唯一的一篇非技术类文章。 开写之前,先把我写的3大系列文章的目录贴出来,目前为止几乎所有文章都在这3个系列里。 "Linux & shell基础系 阅读全文
posted @ 2018-07-16 00:42 骏马金龙 阅读 (14830) 评论 (132) 编辑
摘要:以下是本系列文章的大纲,此页博文完全原创,花费了作者本人的极大心血,如转载,请务必标明原文链接。 如果觉得文章不错,还请帮忙点下"推荐",各位的支持,能激发和鼓励我更大的写作热情。在此先行谢过! 为了让文章列表更紧凑,字体比较小。如果看着不太爽,请缩放页面150% 1.MySQL/MariaDB语法 阅读全文
posted @ 2017-09-24 09:41 骏马金龙 阅读 (21376) 评论 (4) 编辑
摘要:博文完全原创,花费了作者本人的极大心血,如转载,请务必标明原文链接。 为了让文章列表更紧凑,字体比较小。如果看着不太爽,请缩放页面150% 还请随手点下"推荐",各位的支持和肯定能激发和鼓励我更强烈的写作热情。谢谢! 推荐书籍:《大型网站技术架构:核心原理与案例分析》。最直接的感受是:这是一本好书, 阅读全文
posted @ 2017-09-22 17:45 骏马金龙 阅读 (29242) 评论 (15) 编辑
摘要:本人已经此系列的sed文章整理到pdf中,欢迎下载:玩透sed:探究sed原理 sed系列文章: sed修炼系列(一):花拳绣腿之入门篇sed修炼系列(二):武功心法(info sed翻译+注解)sed修炼系列(三):sed高级应用之实现窗口滑动技术sed修炼系列(四):sed中的疑难杂症 说明: 阅读全文
posted @ 2017-09-09 21:54 骏马金龙 阅读 (2845) 评论 (1) 编辑
摘要:我将尽量写出整个体系的内容,初学的朋友可以视之为学习资料,如同看书一样。虽然网上培训视频比较好入门,大方向上的知识点也还算完整,我个人也是这么入门的(基本上看完了某哥和某孩共两整期的视频课程),但看完后入门了,在回炉深造的时候,却发现这些视频课程缺少很多内容,甚至说,看完视频会遗漏很多非常重要的知识 阅读全文
posted @ 2017-06-19 13:52 骏马金龙 阅读 (82863) 评论 (44) 编辑
摘要:openssl系列篇(翻译整理man文档以及用法示例) 证书请求、证书颁发、CA相关 阅读全文
posted @ 2016-11-22 21:09 骏马金龙 阅读 (1058) 评论 (3) 编辑
摘要:回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" 介绍 这些案例是我收集起来的,大多都是我自己遇到过的,有些比较经典,有些比较具有代表性。 这些awk案例我也录了相关视频的讲解 "awk 18个经典实战案例精讲" ,欢迎大家去瞅瞅。 插入几个新字段 在"a b c d"的b 阅读全文
posted @ 2019-11-27 17:29 骏马金龙 阅读 (346) 评论 (0) 编辑
摘要:回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" getline用法详解 除了可以从标准输入或非选项型参数所指定的文件中读取数据,还可以使用getline从其它各种渠道获取需要处理的数据,它的用法有很多种。 getline的返回值: 如果可以读取到数据,返回1 如果遇到了E 阅读全文
posted @ 2019-11-23 16:12 骏马金龙 阅读 (42) 评论 (0) 编辑
摘要:回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" awk工作流程 参考自: 的"AWK PROGRAM EXECUTION"段。 执行步骤 : 阅读全文
posted @ 2019-11-23 16:06 骏马金龙 阅读 (19) 评论 (0) 编辑
摘要:回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" awk数据筛选示例 筛选行 awk运维面试试题 从ifconfig命令的结果中筛选出除了lo网卡外的所有IPv4地址。 阅读全文
posted @ 2019-11-23 15:57 骏马金龙 阅读 (40) 评论 (0) 编辑
摘要:回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" 修改字段或NF值的联动效应 注意下面的分割和计算两词:分割表示使用FS(field Separator),计算表示使用预定义变量OFS(Output Field Separator)。 1. 修改 ,将使用 重新分割字段,所 阅读全文
posted @ 2019-11-23 15:56 骏马金龙 阅读 (16) 评论 (0) 编辑
摘要:回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" 详细分析awk字段分割 awk读取每一条记录之后,会将其赋值给 ,同时还会对这条记录按照 预定义变量FS 划分字段,将划分好的各个字段分别赋值给 ,同时将划分的字段数量赋值给 预定义变量NF 。 引用字段的方式 引用字段: 阅读全文
posted @ 2019-11-23 15:49 骏马金龙 阅读 (79) 评论 (0) 编辑
摘要:回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" 详细分析awk如何读取文件 awk读取输入文件时,每次读取一条记录(record)(默认情况下按行读取,所以此时记录就是行)。每读取一条记录,将其保存到 中,然后执行一次main代码段。 如果是空文件,则因为无法读取到任何一 阅读全文
posted @ 2019-11-23 15:43 骏马金龙 阅读 (19) 评论 (0) 编辑
摘要:回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" awk命令行结构和语法结构 awk命令行结构 其中: awk语法结构 awk语法结构即awk代码部分的结构。 awk的语法充斥着 的模式,它们称为awk rule。 例如: 上面示例中,有BEGIN语句块,有END语句块,还 阅读全文
posted @ 2019-11-23 15:38 骏马金龙 阅读 (23) 评论 (0) 编辑
摘要:回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" BEGIN和END语句块 awk的所有代码(目前这么认为)都是写在语句块中的。 例如: 每个语句块前面可以有pattern,所以格式为: 语句块可分为3类:BEGIN语句块、END语句块和main语句块。其中BEGIN语句块 阅读全文
posted @ 2019-11-23 15:33 骏马金龙 阅读 (30) 评论 (0) 编辑
摘要:回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" awk用法入门 awk示例: 对于 ,它类似于shell的while循环`while read line;do echo "$line";done 阅读全文
posted @ 2019-11-23 15:29 骏马金龙 阅读 (23) 评论 (0) 编辑
摘要:回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" 读取文件的几种方式 读取文件有如下几种常见的方式: 下面使用Shell的read命令来演示前4种读取文件的方式(第五种按字节数读取的方式read不支持)。 按字符数量读取 read的 n选项和 N选项可以指定一次性读取多少个 阅读全文
posted @ 2019-11-23 15:20 骏马金龙 阅读 (26) 评论 (0) 编辑
摘要:回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" 本系列的awk教程中,将大量使用到如下示例文件a.txt。 阅读全文
posted @ 2019-11-23 14:30 骏马金龙 阅读 (18) 评论 (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 骏马金龙 阅读 (51) 评论 (0) 编辑
摘要:"点我查看秘籍连载" 进程表和进程数据结构 内核负责管理维护所有进程,为了管理进程,内核在内核空间维护了一个称为 进程表 (Process Table)的数据结构,这个数据结构中记录了所有进程,每个进程在数据结构中都称为一个 进程表项 (Process Table Entry),如图。 从图中可知, 阅读全文
posted @ 2019-11-21 22:44 骏马金龙 阅读 (51) 评论 (0) 编辑
摘要:"点我查看秘籍连载" 进程基础 程序和进程 什么是程序?什么是进程?程序和进程之间的关系?相信在任何介绍进程基础的地方都会解释一下程序和进程之间的关系,这是一个常识性的知识。 单独来看程序和进程,它们的概念都非常的简单。粗略去看,程序是一个或多个文件,进程是操作系统上能做某些事情的东西。 更标准一点 阅读全文
posted @ 2019-11-20 22:36 骏马金龙 阅读 (49) 评论 (0) 编辑
摘要:"点我查看秘籍连载" 锁 计算机领域中,锁机制使用的非常多。它主要是为了避免多个进程访问同一资源时,可能出现的数据不一致问题。 例如,cat命令输出一个比较大的文件内容,cat命令的特性是需要先将所有磁盘文件数据读取到内存后再输出,所以cat输出一个大文件可能需要花费一些时间。如果在cat在加载文件 阅读全文
posted @ 2019-11-18 13:22 骏马金龙 阅读 (22) 评论 (0) 编辑
摘要:"点我查看秘籍连载" 信号量 信号量(Semaphore)也称为信号灯,典故来源于荷兰:火车根据旗标来决定是否通行。其实就是红绿灯的作用。如图。 通过红绿灯理解信号和信号量,感觉它们似乎是一样的。但是,信号量机制是根据红绿灯的事件让人等待(进程阻塞)或不等待(进程继续运行),只有这两种行为;而信号机 阅读全文
posted @ 2019-11-18 13:21 骏马金龙 阅读 (10) 评论 (0) 编辑
摘要:"点我查看秘籍连载" 消息队列 消息队列(Message Queue)用于在进程之间传递较小的数据,进程可以向一个或多个消息队列中放入数据(消息),其它进程可以从消息队列中按照各种方式(例如最典型的先进先出FIFO方式)取出消息,从而实现进程间通信。 消息队列是一种生产者消费者模型,生产者生产消息放 阅读全文
posted @ 2019-11-18 13:19 骏马金龙 阅读 (14) 评论 (0) 编辑
摘要:"点我查看秘籍连载" 文件映射 文件映射(Memory mapped file)是将磁盘上文件的某段数据映射到内核的一段物理内存上,然后将此物理内存映射到一个或多个进程的虚拟内存中。映射了文件的进程可以直接读、写这段内存来达到读、写磁盘文件的功能。如果多个进程请求映射的文件区段相同,则只映射一次。 阅读全文
posted @ 2019-11-18 13:17 骏马金龙 阅读 (19) 评论 (0) 编辑
摘要:"点我查看秘籍连载" 套接字 套接字(Socket)用于协调不同计算机上的进程间通信,也就是基于网络的通信。当然,也可以在本机上使用套接字进行进程间的通信。 套接字通信的方式非常多,有Unix域套接字、TCP套接字、UDP套接字、链路层套接字等等。但最常用的肯定是TCP套接字。所以,这里介绍下TCP 阅读全文
posted @ 2019-11-18 13:16 骏马金龙 阅读 (302) 评论 (0) 编辑
摘要:"点我查看秘籍连载" 管道 管道是操作系统提供的一种最基本的进程间通信方式。每创建一个管道,就有两个文件描述符,一个是负责读管道的,一个是负责写管道的。所以,使用管道通信时,可以看作是两个文件描述符加一段内核空间中的内存,如图。 管道只能协调有亲缘关系的进程间通信,所谓亲缘,比如父子进程、兄弟进程。 阅读全文
posted @ 2019-11-18 13:11 骏马金龙 阅读 (21) 评论 (0) 编辑
摘要:"点我查看秘籍连载" 进程间通信 单机操作系统上的进程可以分为两类: 1.独立进程:这类进程不会和其它进程有任何交流。 2.协作进程:两个或多个进程之间需要交流。 例如, 命令是独立运行的,不依赖于其它进程,而 命令中的两个进程是协作进程,grep进程依赖于cat进程,grep只有等待到了cat进程 阅读全文
posted @ 2019-11-18 13:10 骏马金龙 阅读 (23) 评论 (0) 编辑
摘要:"点我查看秘籍连载" I/O操作和DMA、RDMA 用户进程想要执行IO操作时(例如想要读磁盘数据、向磁盘写数据、读键盘的输入等等),由于用户进程工作在用户模式下,它没有执行这些操作的权限,只能通过发起对应的系统调用请求操作系统帮忙完成这些操作。这里因为系统调用产生中断将陷入到内核,进行一次上下文切 阅读全文
posted @ 2019-11-17 10:17 骏马金龙 阅读 (167) 评论 (1) 编辑
摘要:"点我查看秘籍连载" 两个缓冲空间:kernel buffer和io buffer 先看一张图,稍后将围绕这张图展开描述。图中的fd table、open file table以及两个inode table都可以不用理解,只需要知道它们体现出来的文件描述符和磁盘文件之间的对应关系:文件描述符fd(例 阅读全文
posted @ 2019-11-16 08:58 骏马金龙 阅读 (173) 评论 (0) 编辑
摘要:Shell内置命令、外部命令、别名、函数、保留关键字的优先级 在Shell中,有5种可调用的东西:别名(alias)、函数(function)、shell保留关键字、shell内置命令、外部命令。 如果它们同名了,那么优先调用谁呢?可使用 查看。 内置命令、别名、函数、外部命令 $ alias ki 阅读全文
posted @ 2019-11-06 21:10 骏马金龙 阅读 (77) 评论 (0) 编辑
摘要:"点我查看秘籍连载" OOM和swap分区 进程的虚拟内存空间是映射到整个物理内存空间的,所以在进程自身看来它拥有了整个物理内存,它也能使用整个物理内存,只需在使用的时候请求操作系统帮忙分配更多空间即可。 但是,操作系统上并非只运行了一个进程,如果一个进程无休止的申请物理内存空间,最终会导致物理内存 阅读全文
posted @ 2019-11-04 18:48 骏马金龙 阅读 (97) 评论 (0) 编辑
摘要:"点我查看秘籍连载" 页翻译:快速地址转换 虽然操作系统通过页表也能将虚拟页翻译成内存中对应的页帧,但是它仍然很慢。另一方面,如果访问每个页都需要操作系统来参与帮忙翻译,这会频繁陷入内核,效率是非常低的。所以,这里再次将任务交给硬件CPU去做。 提示:操作系统将底层任务交给硬件提高效率 前文介绍段的 阅读全文
posted @ 2019-11-03 12:01 骏马金龙 阅读 (59) 评论 (0) 编辑
摘要:这些是我录制的视频课程,可 "点我加QQ群921383787" 或在评论中找我拿优惠券噢。 1.Shell精品进阶教程:理解Shell的方方面面 "Shell精品进阶教程:理解Shell的方方面面" 课程目标 系统性的掌握shell相关知识,进阶shell脚本能力,对shell各方面了然于心 适用人 阅读全文
posted @ 2019-11-03 10:52 骏马金龙 阅读 (723) 评论 (0) 编辑
摘要:"点我查看秘籍连载" 分页和页表 除了分段,空间管理的第二种常见方式是分页。 Linux将虚拟内存划分成固定大小的页(Linux中的页大小是4KB),并且以页作为操作内存的最小单元。例如一次性读取一页,虚拟内存中的页称为虚拟页。对应的,物理内存也会划分成固定大小的页来管理,称为物理页,也常称为 页框 阅读全文
posted @ 2019-11-02 18:11 骏马金龙 阅读 (67) 评论 (0) 编辑
摘要:"点我查看秘籍连载" 栈空间:用户栈和内核栈 程序的执行流程 进程其实都是在执行任务,而任务其实就是函数定义的(函数也称为方法、子程序等,本质都一样),所以进程的作用就是不断的执行函数。程序启动时,第一个要执行的函数是main()函数(有些语言隐藏了这个函数,但任何程序一定会有一个程序入口函数),然 阅读全文
posted @ 2019-11-01 20:14 骏马金龙 阅读 (197) 评论 (0) 编辑
摘要:"点我查看秘籍连载" 资源隔离:虚拟内存 前面描述的所有操作系统基础知识都是进程和CPU资源相关的内容,另一个操作系统中和进程相关的比较重要的话题是内存资源。 操作系统主要目的是执行程序,而程序在执行时,程序自身以及程序所访问的数据、所产生的数据都在内存里(至少所有数据的流向都会经过内存)。此外,现 阅读全文
posted @ 2019-10-15 08:55 骏马金龙 阅读 (97) 评论 (0) 编辑
摘要:"点我查看秘籍连载" 进程的地址空间布局:分段 Linux的虚拟地址空间采用“分段+分页”结合的方式实现。先看分段,之后再介绍分页。 分段是将内存划分成各个段落(Segment),每个段落的长度可以不同,且虚拟地址空间中未使用的空间不会映射到物理内存中,所以操作系统不会为这段空间分配物理内存。这样的 阅读全文
posted @ 2019-10-15 08:54 骏马金龙 阅读 (325) 评论 (2) 编辑
摘要:"点我查看秘籍连载" CPU的归属:Idle进程 操作系统并不总是繁忙。例如个人PC上任务比较轻,多数时候都无法充分利用CPU,导致CPU处于空闲状态。但CPU既然通电了,它就得运行,那么在它没有任务需要执行的时候,CPU在干嘛呢? Idle进程的工作非常的轻松,就是累积CPU空闲时间,CPU工作在 阅读全文
posted @ 2019-10-13 21:23 骏马金龙 阅读 (114) 评论 (0) 编辑
摘要:"点我查看秘籍连载" 操作系统的服务端口:系统调用 用户进程工作在用户态,它是受限的,很多涉及到硬件的操作都无法执行,但是它们又想要取得结果,就只能请求工作在内核态的操作系统帮助完成这些操作,并将操作结果交给用户进程。 系统调用 (system call)就是操作系统提供给用户进程请求操作系统做一些 阅读全文
posted @ 2019-10-11 13:08 骏马金龙 阅读 (135) 评论 (0) 编辑
摘要:"点我查看秘籍连载" 回到操作系统:中断 要想在任何需要的时候回到操作系统,这相当于是改变了CPU的正常执行流程,所以一个非常熟悉的字眼—— 中断 (Interrupt)就出现了。通过中断,可以保证回到操作系统,从而将CPU的控制权交给操作系统。 中断的字面意思就是打断正常执行流程,但是注意,它表示 阅读全文
posted @ 2019-10-10 08:26 骏马金龙 阅读 (143) 评论 (2) 编辑
摘要:"点我查看秘籍连载" 限制进程:内核态和用户态 进程可分为两种类型。一是操作系统自身运行时的内核类进程,也称为 操作系统进程 。另一种即非内核类进程,不是操作系统自身的进程,而是想要实现某些功能,用户自己去启动的程序产生的进程,也称为 用户类进程或用户进程 。 操作系统自身也是一个程序,它启动之后也 阅读全文
posted @ 2019-10-09 09:14 骏马金龙 阅读 (182) 评论 (0) 编辑
摘要:"点我查看秘籍连载" 假象:“并行”运行多个进程 现代操作系统都支持多任务同时执行。在这里,操作系统对我们用户“营造了一种假象”,让CPU看上去是用不完的,能够不断地添加新的程序使它们同时运行。 但每核CPU在某一时刻都只能执行一个进程。使用操作系统的人是不会去关注CPU是单核还是多核的,每个人都希 阅读全文
posted @ 2019-10-08 08:41 骏马金龙 阅读 (478) 评论 (3) 编辑
摘要:"点我查看秘籍连载" 毋庸置疑,操作系统(Operating System,OS)是一个非常大的概念,涉及到的内容非常非常多,在探讨它的时候,往往会将操作系统置于一个比较底层的角度去对待,这也使得多数人对OS是“闻之丧胆”,对OS相关的资料或概念也是望而却步,这也是我曾经亲身经历的过程。 君不见那些 阅读全文
posted @ 2019-09-25 13:41 骏马金龙 阅读 (385) 评论 (5) 编辑
摘要:修改命令提示符颜色 修改命令提示符的话,只需修改PS1环境变量即可。 效果如图: 修改命令输入的颜色 修改命令输入的颜色,思路是不关闭PS1的颜色,然后在每次敲下回车键执行命令的时候自动插入颜色终止符。这需要借助trap捕获DEBUG信号来实现。 如果要写入shell配置文件,建议写到 ,而不要写入 阅读全文
posted @ 2019-09-21 12:45 骏马金龙 阅读 (147) 评论 (0) 编辑
摘要:这是正则表达式从入门学习到深入掌握各种技巧的教程系列,使用了不同语言描述,但对于正则理念来说是完全通用的。最后还差一篇正则性能优化的文章,有机会再补上。 我已经录了正则表达式的两门课程:参见 "视频教程汇总" 1. "基础正则表达式" 2. "Perl正则表达式超详细教程" 3. "递归正则表达式详 阅读全文
posted @ 2019-09-21 10:15 骏马金龙 阅读 (291) 评论 (0) 编辑