自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 Javascript学习

JS学习1. Javascript是什么?2. Javascript的组成(有什么?)3. 如何向页面添加Javascript3.1 内部javascript3.2 外部引用js3.3 内联js4. Javascript注释 与 结束符5. Javascript的输入输出语法1. Javascript是什么?2. Javascript的组成(有什么?)3. 如何向页面添加Javascript3.1 内部javascript3.2 外部引用js3.3 内联js4. Javascr

2024-01-13 10:56:05 453

原创 CSS学习

提示: 需要在html文件中link目标样式表;

2023-12-12 23:26:55 805

原创 HTML学习 - 标签总结

1. 基本骨架2. 排版标签2.1 标题标签2.2 段落标签2.3 换行标签2.4 水平分割线标签3. 文本格式化标签4. 媒体标签4.1 图片标签4.1.1 图片属性4.1.1.4 width 和 height4.2 音频标签4.3 视频标签5. 链接标签5.1 标签属性5.1.1 target属性。

2023-12-10 21:00:40 476

原创 正则表达式(9):扩展正则表达式

上图中的扩展正则使用了分组符号”( )”,”(com|net)”表示将括号内的内容看做一个整体,而括号内的内容为”com|net”,它表示”com或者net”,所以,”(com|net)$”就表示以com或者net结尾的行。上图中,grep命令使用了”-E”选项,表示grep命令会把”正则表达式”中的符号当成”扩展正则表达式”去理解,而不再使用默认的”基本正则表达式”。5、顶级域名之前必须包含一个”点”,换句话说就是,邮箱必须以”.com”、”.net”、”.org”、”.edu”结尾。

2023-12-10 11:00:29 1290

原创 正则表达式(8):基本正则表达式小结

上述正则中,”136[[:digit:]]{8}”表示136后面跟随了8个连续的任意数字,所以,”136[[:digit:]]{8}”就表示一个以136开头的11位数字,也就是我们想要找到的”手机号”其实怎样去写正则表达式,没有一个固定的方法,只要能够正确的排列组合,表达出我们想要表达的意思,匹配到我们想要匹配的字符串,就是正确的写法,你也可以通过自己的想法,写出对应正则表达式。为了方便理解,我们可以将上述正则表达式拆分成3段去理解,没错,我们把上述正则拆分成红色标注部分,蓝色标注部分,绿色标注部分。

2023-12-09 20:44:17 983

原创 正则表达式(7):转义符

就已经包含反斜杠了,难道我们要再加一个反斜杠,嘻嘻~不要陷入思维怪圈了,在基本正则表达式中,如果想要匹配问号本身,只需要使用”?加号同理,基本正则中,使用”+”表示匹配前面的字符至少1次,当我们想要匹配加号本身时,直接使用”+”就行了,示例如下。但是正如之前的示例一样,”.”在正则表达式中代表任意单个字符,所以,”.”在正则表达式中,并不能表示”点”本身。可是,我们现在的需求就是匹配”点”本身,并不希望”.”代表其他字符,我只希望”.”就代表”点”。”表示任意次数,我们可以使用”*”,示例如下。

2023-12-08 19:44:23 822 1

原创 正则表达式(6):分组与后向引用

为了方便以后回顾,我们将今天了解到的只是进行总结。\( \) 表示分组,我们可以将其中的内容当做一个整体,分组可以嵌套。\(ab\) 表示将ab当做一个整体去处理。\1 表示引用整个表达式中第1个分组中的正则匹配到的结果。\2 表示引用整个表达式中第2个分组中的正则匹配到的结果。这篇文章就总结到这里,希望能够帮助到你~~

2023-12-07 21:47:35 1170

原创 正则表达式(5):常用符号

上例中,”[[:alpha:]]{3}”表示3个连续的任意字母,此处结合了之前的知识,其中”{3}” 表示其前面的字符连续出现3次(如果你没有看懂,请回顾前文),所以,上述正则表达式整体的含义就是, 只有a字母后面跟随了3个字母的字符串才会被匹配到,如果a字母后面跟随的3个字符中包含非字母(数字或符号),就不会被匹配到,正如上图所示。除了”[[:lower:]]”,”[a-z]”也能表示任意一个小写字母,你一定猜出来了,没错,”[a-z]”所表示的意思就是,从a到z的26个小写英文字母中的任意一个。

2023-12-06 20:08:40 1906

原创 正则表达式(4):连续次数的匹配

聪明如你一定看懂了,没错,”\{2\}”就表示”连续出现2次”,所以,”a\{2\}”就表示a连续出现两次,可以看到,包含2个连续字母a的行只有第二行,所以,当我们使用正则表达式”a{2}”时,只能匹配到第二行,由于第一行中的两个字母a中间存在”空格”,所以并不能算作两个连续的字母a,所以没有被匹配到。正则表达式中,我们指定,b字母连续出现2次则会被匹配到,所以,第4行被匹配到了,同时,第5行也被匹配到了,因为第5行中,b字母连续出现了3次,包含2次,所以,前2个连续的字母b也被匹配到了。

2023-12-05 20:50:02 1467

原创 正则表达式(3):入门

上图中,”abchello”中包含”hello”,但是”hello”位于”abchello”这个单词的词尾,同理,”helloabc”中也包含”hello”,但是”hello”位于”helloabc”这个单词的词首。其实,正则表达式中,除了”<“与”>”能够表示锚定词首与锚定词尾以外,我们还可以使用”\b”去代替”<“和”>”,”\b”既能锚定词首,也能锚定词尾,示例如下。我们直接在第二行后按回车键,于是第三行变成了”空行”,注意,”空行”表示当前行不包含任何字符,包含”空格”的行不能被当做”空行”。

2023-12-04 20:08:46 1075

原创 正则表达式从放弃到入门(2):grep命令详解

为了方便以后回顾,将grep的常用选项总结如下–color=auto 或者 –color:表示对匹配到的文本着色显示-i:在搜索的时候忽略大小写-n:显示结果所在行号-c:统计匹配到的行数,注意,是匹配到的总行数,不是匹配到的次数-o:只显示符合条件的字符串,但是不整行显示,每个符合条件的字符串单独显示一行-v:输出不带关键字的行(反向查询,反向匹配)-w:匹配整个单词,如果是字符串中包含这个单词,则不作匹配-Ax:在输出的时候包含结果所在行之后的指定行数,这里指之后的x行,A:after。

2023-12-03 22:24:07 1199

原创 正则表达式从放弃到入门(1):“正则表达式”是什么?

这个时候,就需要依靠”正则表达时式”了,”正则表达式”可以帮助我们实现这样的功能,但是,由于windows记事本并不支持”正则表达式”,所以,我们无法通过”记事本”完成上述需求,我们只能安装其他程序,并且这个程序必须支持”正则表达式”,此处,我们安装”sublime text”或者”notepad++”,它们是windows系统下比较常用的、流行的文本编辑器,此处以”sublime text”为例,使用”sublime text”打开示例中使用到的文本文件,如下图所示。

2023-12-02 12:52:16 1032

原创 awk从放弃到入门(11):拾遗之”三元运算”与”打印奇偶行”

当awk开始处理第一行时,变量 i 被初始化,变量 i 在被初始化时,值为”空”,而awk中,数字0或者”空字符串”表示假,所以可以认为模式为假,但是 i 直接取反了,对假取反后的值为真,将取反后的值又赋值给了变量i,此刻,变量i的值为真,所以当awk处理第一行文本时,变量i的值被赋值为真,模式成立则需要执行对应的动作,而上例中又省略了动作,所以默认动作为”{print $0}”,所以,第一行被整行打印了。而上例中,”$3<500″就是上述语法中的”条件”,”系统用户”就是上述语法中”?

2023-12-01 17:00:38 813

原创 awk从放弃到入门(10):awk内置函数

如上图所示,数组中元素的值均为数字,但是下标为自定义的字符串,通过asort函数对数组排序后,再次输出数组中的元素时,已经按照元素的值的大小进行了排序,但是,数组的下标也被重置为了纯数字,其实,asort还有一种用法,就是在对原数组元素值排序的同时,创建一个新的数组,将排序后的元素放置在新数组中,这样能够保持原数组不做任何改变,我们只要打印新数组中的元素值,即可输出排序后的元素值,示例如下。我们还能够通过asort函数根据元素的值进行排序,但是,经过asort函数排序过后的数组的下标将会被重置,示例如下。

2023-11-30 17:24:02 969

原创 awk从放弃到入门(9):awk数组详解

如果你有过任何一种编程语言的使用经验,那么你一定知道,我们可以通过数组的下标(或者称索引),引用数组中的元素,其他语言中,数组的下标通常由0开始,也就是说,如果想要引用数组中的第1个元素,则需要引用对应的下标”[0]”,awk中的数组也是通过引用下标的方法,获取数组中的元素的,但是在awk中,数组元素的下标默认从1开始,但是为了兼容你的使用习惯,我们也可以从0开始设置下标,此处不用纠结,到后面自然会明白,我们先来看一个最简单的示例。必须能啊,今天我们就来聊聊awk中的数组。

2023-11-29 19:50:07 953

原创 awk从放弃到入门(8):awk动作总结之二

本博文转载至这篇文章中的知识点是建立在前文的基础上的,如果你还没有掌握前文中的知识,请先参考之前的文章。注:在阅读这篇文章之前,最好已经了解了一些开发的基本语法,比如,for、while、do…while 等,否则在阅读时 有可能遇到障碍。前文中,我们介绍了awk中的条件判断语句。比如 “if”比如 “if…else…”比如 “if…else if…else…”我们说过,这些语句都可以归类为”控制语句”,但是这些并不是”控制语句”的全部,今天我们继续聊聊awk的”控制语句”。

2023-11-28 21:56:55 947

原创 awk从放弃到入门(7):awk动作总结之一

本博文转载至这篇文章中的知识点是建立在前文的基础上的,如果你还没有掌握前文中的知识,请先参考之前的文章。注:在阅读这篇文章之前,最好已经了解了一些基本的开发语法,比如,if、if…else、for、while等,否则在阅读时 有可能遇到障碍。在前文中,我们已经使用过了awk的选项、模式 以及 动作。这篇文章中,我们再来聊聊动作。不知从何说起,我们还是从之前的示例开始聊吧,回顾一个小例子,如下图所示。如上图所示,红线标注部分就是awk命令中的”动作”,我想你应该已经非常熟悉了。

2023-11-27 22:16:36 829

原创 awk从放弃到入门(6):awk模式(Pattern)之二

其实,这就是我们今天要介绍的”正则模式”,在使用”正则模式”时,文本行如果能够被正则表达式匹配到,就会执行对应的动作,如果没有被正则匹配到,则不会执行对应的动作,而上例中,对应的动作就是{print $0},也就是打印整行,所以,上例中的grep命令与awk命令所实现的效果是完全相同的,那么你可能会问,既然效果完全相同,为什么还要使用awk呢?正则模式可以理解为,把”正则表达式”当做”条件”,能与正则匹配的行,就算满足条件,满足条件的行才会执行对应的动作,不能被正则匹配到的行,则不会执行对应的动作。

2023-11-26 17:05:43 862

原创 awk从放弃到入门(5):awk模式(Pattern)之一

上图中,我们使用了一个简单的”模式”,换句话说,我们使用了一个简单的”条件”,这个条件就是,如果被处理的行正好有5列字段,那么被处理的行则满足”条件”,满足条件的行会执行相应的动作,而动作就是{print $0},即打印当前行,换句话说,就是只打印满足条件的行,条件就是这一行文本有5列(NF是内置变量,表示当前行的字段数量,如果你忘了,那么请你重新看一遍之前的文章),而上例中,只有第二行有5列,所以,只有第二行能与我们指定的”模式”相匹配,最终也就只输出了第二行。这就是所谓的”模式”,其实很简单,对吧。

2023-11-26 16:47:38 862

原创 awk从放弃到入门(4):awk格式化

而”替身演员”只是我给”%s”起的一个外号,它的真名叫”格式替换符”,而printf中,”格式替换符”不只有”%s”一种,”%s”代替了每一个传入的参数,并将他们转化成了”字符串类型”,我们再来认识一个新的替身演员,”%f” ,”%f”也代替了每一个传入的参数,与”%s”不同的是,”%f”会将每一个传入的参数转换成”浮点类型”,我们来看一个小例子。没错,命令3中的”%s\n”即为我们指定的”格式”,而后面的每一段字符串,都被当做参数传入到了printf命令中,并按照我们指定的格式进行了格式化。

2023-11-26 12:22:45 850

原创 awk从放弃到入门(3):awk变量

好了,内置变量解释完了,现在我们来看看自定义变量,自定义变量,顾名思义,就是用户定义的变量,有两种方法可以自定义变量。方法一:-v varname=value 变量名区分字符大小写。方法二:在program中直接定义。我们来看一些小例子,即可明白上述两种方法。通过方法一自定义变量。这种方式,与设置内置变量的值的方法是一样的。使用方法二自定义变量,直接在program中定义即可,但是注意,变量定义与动作之间需要用分号”;”隔开。当然,我们也可以一次性定义多个变量。

2023-11-26 11:51:40 917

原创 awk从放弃到入门(2):awk分隔符

输入分隔符比较容易理解,当awk逐行处理文本的时候,以输入分隔符为准,将文本切成多个片段,默认使用空格,但是,如果一段文字中没有空格,我们可以指定以特定的文字或符号作为输入分割符,比如下图中的例子,我们指定使用”#”作为输入分隔符。在前一篇文章中我们略微提到过”分隔符”,但是并没有细说,那么我们今天就聊聊什么是分隔符,awk有哪些分隔符,awk的默认分割符是空格,但是,这样描述并不精确,因为,awk的分隔符还分为两种,”输入分隔符” 和 “输出分隔符”。没关系,我们来动手实践一下,胜过千言万语。

2023-11-26 11:27:51 926

原创 awk从放弃到入门(1):awk基础 (通俗易懂,快进来看)

AWK命令总结之从放弃到入门我们先来用专业的术语描述一下awk是什么,如果你看不懂,没关系,我们会再用”大白话”解释一遍。awk是一个报告生成器,它拥有强大的文本格式化的能力,这就是专业的说法。

2023-11-25 13:18:55 779

原创 TCP粘包实例及解决

(1) tcp服务端(2) tcp客户端(3)测试(4)server端输出多个包粘在了一起。

2023-08-08 09:48:17 190

原创 容器外访问容器应用详解

很详细,帅哥美女,进来看看呗!全部转给docker了,是怎么访问本地的?答: 从上图可以发现,只有当访问端口是3306时,才会将目标地址改写为172.17.0.2。远程访问本地docker容器:​ 第一次源地址是远程的地址;​ 输入接口为: eth0,目标地址为eth0的地址;PREROUTING 判断目标地址是本地地址(eth0),转给DOCKER;输入接口不是docker0,判断下一条;

2022-05-28 20:13:44 447

原创 linux运维之Bash自动化-05循环

linux运维之Bash自动化-05循环1.前言2.须知3. 实例4. 结尾1.前言今天和大家一起学习bash的循环结构,循环在平常使用的次数比较多,希望大家能够掌握。2.须知掌握for和while;会用break和continue;了解until和C语言形式for。3. 实例从1加到100:

2022-05-19 19:06:53 307

原创 linux运维之Bash自动化-04条件判断与逻辑运算

linux运维之Bash自动化-04条件判断与逻辑运算(1) 记住的东西比较少,不用记住所有,让学习的人更容易上手;(2) 虽然记的东西比较少,但是根据本人的工作经验来看,足以应付所有情况;(3) 让读者比较舒服,也省去了自己总结的时间和精力

2022-05-12 19:29:01 314

原创 linux运维之Bash自动化-03vim安装和使用

linux运维之Bash自动化-03vim安装和使用vim安装和使用1.前言2.须知1.前言老规矩,只讲实用干货,不讲虚的,有的专有名词可能不太对,介意者出门右拐。2.须知(1)vim是什么 ?答: 是一个编辑器,可以简单看成是一个文本编辑器。(2) vim的几种功能或模式:① 阅读模式; (命令模式)vim刚进去的时候就是命令模式;如果不知道处在什么模式,按上角的Esc,就会回到阅读模式;

2022-05-09 22:46:21 367

原创 linux运维之Bash自动化-02Bash基础命令

linux运维之Bash自动化-02Bash基础命令1. 前言想毕大家应该装好虚拟机或者已经准备好学习环境了,基础命令就是一些工作日常经常使用到的命令,我们的目的不是学习这些基础命令,所以这些命令咱们稍微过一些就行。2....

2022-05-08 13:56:30 605

原创 linux运维之Bash自动化-01Bash脚本介绍

linux运维之Bash自动化-01Bash脚本介绍Bash脚本介绍1. 前言2.什么是Bash?3. Bash脚本能干什么?4. 学Bash的方法5. 结尾1. 前言从今天开始,做一套Bash教程,和大家一起学习Bash自动化,接下来不讲废话。2.什么是Bash?Bash 是 Unix 系统和 Linux 系统的一种 Shell(命令行环境),是目前绝大多...你以为我会讲的这么官方?想多了,我要说的是,Bash就是linux等类Unix上使用的脚本语...

2022-05-08 13:53:45 801

原创 linux运维之Bash自动化番外篇-Windows安装centos7虚拟机

windows从0安装linux虚拟机

2022-05-08 11:10:23 366

原创 2.python + grpc-gateway

python + grpc-gateway1. 前言2. 新建用户3. 安装工具4. 开始创建helloworld:5.测试6.总结1. 前言今天在网上看了硬是没找到使用python代码的grpc-gateway,只能试着使用go的grpc-gateway监听python grpc服务,不过grpc-gateway本身就是一个插件,使用go的话问题应该也不大。2. 新建用户[test@localhost ~]$ useradd test # 新建 test 用户[test@localhost ~

2021-12-15 17:02:40 1716

原创 1. 从零实现部署grpc-gateway;

从零开始实现gRPC-gateway1. 前言2. 工作机制3. 新建用户4. 安装工具5. 开始创建helloworld6. 测试7. 总结1. 前言本文的主要目的是让读者能够跟着一步一步成功使用grpc-gateway,只有很少的理论知识,相关的理论知识在后续会更新。2. 工作机制这是官方给出的一张图片,从上面我们可以得到以下信息:我们需要从 profile-service.proto 文件生成两部分代码grpc service代码,stubs代码;grpc-gateway 反向代

2021-12-13 13:51:25 1814

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除