随笔分类 -  Linux系统基础

摘要:参考资料: MTR (software) - Wikipedia MTR官网 mtr的man手册 简介 MTR的名称来源是My TraceRoute,原来源是Matt's TraceRoute。mtr是一个网络诊断工具,将ping和traceroute命令的功能合二为一。 命令ping着重查看到目标 阅读全文
posted @ 2021-03-10 11:39 阿龙弟弟 阅读(5775) 评论(0) 推荐(0) 编辑
摘要:此博文的例题来源于骏马金龙的awk课程以及awk示例的整合。一些在以往的awk学习笔记中有涉及的示例,这里就不再重复了。 处理代码注释 # cat comment.txt /*AAAAAAAAAA*/ # 整行都被注释所占满。 1111 222 /*aaaaaaaaa*/ 32323 1234123 阅读全文
posted @ 2021-02-06 11:10 阿龙弟弟 阅读(351) 评论(0) 推荐(0) 编辑
摘要:这部分的内容许多在以往的笔记中有涉猎,因此大多数不会详述。 内置(built-in)和预定义(predefined)虽然名字不同,不过含义是等价的,官方文档中也同时使用到这两个英文词汇。 选项 -e:指定awk代码。一般代码可以直接写在CLI或者使用-f来指定代码文件,不过这两种只能二选一。如果已经 阅读全文
posted @ 2021-02-03 14:28 阿龙弟弟 阅读(896) 评论(0) 推荐(0) 编辑
摘要:前言 关于函数的基本概念,在学习bash的函数的时候已经大致讲解过了,加上本人大学时期也学习过C语言(虽然都忘记了),因此这里就不再对函数做过多冗余的介绍了。 awk大致将函数分成了自定义函数和内置函数。不过其本质上没有区别,自己写的函数就叫做自定义函数,而官方写好的嵌入在awk本身的我们直接拿来用 阅读全文
posted @ 2021-02-02 16:45 阿龙弟弟 阅读(556) 评论(0) 推荐(0) 编辑
摘要:简介 ARGC和ARGV都是awk的预定义变量。 ARGC存储了awk的CLI参数数量(Argument Count);ARGV(Argument Value)是一个数组变量,虽然是关联数组不过其下标是从0开始的数值(当然,内部识别为字符串),存储了这次awk的CLI执行中的每个参数。 # awk 阅读全文
posted @ 2021-01-27 00:59 阿龙弟弟 阅读(920) 评论(0) 推荐(0) 编辑
摘要:数组 在bash中我们已经见识过了数组。awk的数组和bash的数组的主要区别在于其支持的是关联数组,而bash支持的是数值索引数组。 假设存在这样一个数组。 arr=["zhangsan","lisi","wangwu"] 数值索引的下标是从0开始的数值。 arr[0] ==> "zhangsan 阅读全文
posted @ 2021-01-21 21:51 阿龙弟弟 阅读(755) 评论(0) 推荐(0) 编辑
摘要:语法 变量 我觉得awk应该算是属于动态编程语言。其变量不需要事先声明才可以使用。我们想要使用的时候随时引用即可,不需要事先声明其数据类型。 awk的变量具有三种状态。 未声明状态(untyped)。没有引用也没有赋值。 未赋值状态(unassigned)。引用但还未赋值。 已赋值状态。 引用未赋值 阅读全文
posted @ 2021-01-20 22:40 阿龙弟弟 阅读(645) 评论(0) 推荐(0) 编辑
摘要:输出操作 awk可以通过print或者printf将数据输出到标准输出或者重定向到文件中。 print print我们已经使用过很多次了。其实它本质是一个输出函数,即有小括号。 print (elem1,elem2,elem3...) print elem1,elem2,elem3... 输出的每一 阅读全文
posted @ 2021-01-19 13:10 阿龙弟弟 阅读(1116) 评论(0) 推荐(0) 编辑
摘要:getline用法详解 在默认情况下,awk支持从文件或者STDIN中读取数据。我们也可以使用getline来灵活读取数据,例如在main代码块执行过程中读取某个非待处理文件的数据,或者从某个读取某个shell命令结果数据。 getline有返回值: 1:正确读取到了数据。 0:读取数据遇到EOF。 阅读全文
posted @ 2021-01-19 13:07 阿龙弟弟 阅读(3232) 评论(0) 推荐(0) 编辑
摘要:工作流程 可以参考man手册。 man --pager='less -p ^"AWK PROGRAM EXECUTION"' awk 示例 awk -v a=1 -v b=2 'BEGIN{...}{...main...}END{...}' x=3 a.txt y=4 b.txt z=5 解析CLI 阅读全文
posted @ 2021-01-19 13:03 阿龙弟弟 阅读(232) 评论(0) 推荐(0) 编辑
摘要:读取文件 读取“每行”数据 博客的开头我们说过,默认情况下awk读取文件的每行数据并将其存入$0变量当中。其实,awk在读取数据之前会根据其内部的预定义变量RS的值来分隔每条记录(record)。RS的默认值是“\n”,即换行符,因此也就会有我们刚才所说的默认情况。 所以,awk在读取文件时,会根据 阅读全文
posted @ 2021-01-19 13:00 阿龙弟弟 阅读(1767) 评论(0) 推荐(0) 编辑
摘要:命令行和语法结构 awk [ options ] [ -- ] program-text file ... options即选项;program-text即awk代码;file ...即待处理的读入数据,可以是文件也可以是标准输入,只要是数据来源即可。 这里比较陌生的是[ -- ],中括号表示可以省 阅读全文
posted @ 2021-01-19 12:56 阿龙弟弟 阅读(323) 评论(0) 推荐(0) 编辑
摘要:本博文参考的资料来自于骏马金龙的awk教程,该教程在51CTO上也有对应的课程,欢迎大家付费支持。本博文默认读者已经具备了正则表达式基础。 前言 本博客中使用的示例文件a.txt内容如下。 ID name gender age email phone 1 Bob male 28 abc@qq.com 阅读全文
posted @ 2021-01-19 11:00 阿龙弟弟 阅读(414) 评论(0) 推荐(0) 编辑
摘要:简介 首先我们先来看一段代码。 #!/bin/bash declare -i uphosts=0 declare -i downhosts=0 for i in 192.168.152.{98..102}; do if ping -W 2 -c 1 $i &>/dev/null; then echo 阅读全文
posted @ 2020-12-10 16:46 阿龙弟弟 阅读(224) 评论(0) 推荐(0) 编辑
摘要:官方资料:Shell Functions (Bash Reference Manual) 简介 正如我们在《Bash脚本编程学习笔记06:条件结构体》中最后所说的,我们应该把一些可能反复执行的代码块整合起来,避免反复编写使得代码过于臃肿。 函数正是为了解决这个问题而存在的。函数在定义时,可以将常用的 阅读全文
posted @ 2020-01-17 17:48 阿龙弟弟 阅读(413) 评论(0) 推荐(0) 编辑
摘要:本篇中涉及到算术运算,使用了$[]这种我未在官方手册中见到的用法,但是确实可用的,在此前的博文《Bash脚本编程学习笔记03:算术运算》中我有说明不要使用,不过自己忘记了。大家还是尽量使用其他的方法进行算术运算。 简介 Bash具有三种循环结构: for循环。 while循环。 untile循环。 阅读全文
posted @ 2020-01-15 21:07 阿龙弟弟 阅读(493) 评论(0) 推荐(0) 编辑
摘要:简介 在bash脚本编程中,条件结构体使用if语句和case语句两种句式。 if语句 单分支if语句 if TEST; then CMD fi TEST:条件判断,多数情况下可使用test命令来实现,返回值为0的话则执行CMD,否则就离开该条件结构体,脚本继续往下执行。 [root@c7-serve 阅读全文
posted @ 2020-01-15 21:06 阿龙弟弟 阅读(494) 评论(0) 推荐(0) 编辑
摘要:用户交互 在《学习笔记04》中我们有提到位置参数,位置参数是用来向脚本传递参数的一种方式。还有一种方式,是read命令。 [root@c7-server ~]# read name alongdidi [root@c7-server ~]# echo $name alongdidi read命令可以 阅读全文
posted @ 2020-01-08 16:33 阿龙弟弟 阅读(386) 评论(0) 推荐(1) 编辑
摘要:我自己接触Linux主要是大学学习的Turbolinux --> 根据《鸟哥的Linux私房菜:基础篇》(第三版) --> 马哥的就业班课程。给我的感觉是这些课程对于bash的讲解,理论上是不够的,但是限于时间、篇幅和精力,确实无法讲解的足够深入。在接触了骏马金龙的博客以及bash官方站点后,就会理 阅读全文
posted @ 2020-01-08 09:50 阿龙弟弟 阅读(1290) 评论(0) 推荐(0) 编辑
摘要:简介 Bash所支持的算术运算和C语言是一样的,这里指的是操作符(operator)以及它们的优先级(precedence)、结合性(associativity)和值,详见Shell Arithmetic (Bash Reference Manual)。 注意:如果乘号“*”在某些场景中失效,有可能 阅读全文
posted @ 2019-12-20 17:06 阿龙弟弟 阅读(583) 评论(0) 推荐(0) 编辑

回到顶部