linux
文章平均质量分 85
不务正业的攻城狮
这个作者很懒,什么都没留下…
展开
-
重学正则表达式(六)-- 习题篇
目录前言习题1. 去除字符串首尾的空格前言其实,之前没想过写这一篇的内容,只是最近发现工作的时候有时候遇到的一些需要使用正则表达式解决的问题好像并不是一下子就能写出一个正确的正则,需要多次的修改,调整,当然,这和我的正则水平不到家有很大的关系,所以就有了这篇内容,我打算把工作中遇到的一些有意思的正则表达式记录下来。可能有大佬看到这些文章,不喜勿喷,谢谢。习题1. 去除字符串首尾的空格这个需求,对于经常编程的同学来说,一个函数即可搞定,例如使用我最喜欢的大 java ,一个 trim 函数即可pu原创 2022-02-23 10:57:38 · 157 阅读 · 0 评论 -
awk编程?let‘s go(八) ---- 数据处理
目录前言数据转换与归约列求和前言经过前面几节的学习,我们对 awk 的基础功能以及 awk 语言有了一定的认知,虽然前面有很大一部分属于理论的东西,l老是让我看理论,从这节开始,我们将更加深入的学习 awk。Awk 最初的设计目标是用于日常的数据处理, 例如信息查询, 数据验证, 以及数据转换与归约,所以这节我们将来学习 awk 的数据处理,利用前面学习的知识实现更加强大的功能。数据转换与归约Awk 最常用的一个功能是把数据从一种形式转换成另一种形式, 通常情况下, 是把一种程序的输出格式,原创 2022-02-24 07:15:00 · 279 阅读 · 0 评论 -
awk编程?let‘s go(七) ---- 输入
目录输入输入分隔符输入为 awk 提供输入数据有若干种方式. 最常见的是把输入数据放在一个文件中。如果没有指定输入文件, awk 就从它的标准输入读取数据; 所以, 另一种常用的方法是把另一个程序的输出以管道的方式输送给 awk. 举例来说, 实用程序 egrep 从输入行中挑选具有指定正则表达式的行, 虽然 awk 也可以做同样的工作, 但是与前者相比就慢得多了. 我们可以输入命令egrep ‘Asia’ countries | awk ‘program’egrep 挑出那些含有 Asia 的原创 2022-02-22 07:15:00 · 126 阅读 · 0 评论 -
awk编程?let‘s go(六) ---- 输出
目录输出print 语句输出分隔符printf 语句输出到文件输出到管道关闭文件与管道输出print 与 printf 语句可以用来产生输出. print 用于产生简单的输出; printf 用于产生格式化的输出。来自 print 与 printf 的输出可以被重定向到文件, 管道与终端. 这两个语句可以混合使用。输出语句print将 $0 打印到标准输出print expression, expression, …打印各个 expression, expression 之间由 OFS原创 2022-02-18 07:15:00 · 287 阅读 · 0 评论 -
awk编程?let‘s go(五) ---- 动作
目录动作表达式常量变量内建变量字段变量算术运算符比较运算符自增与自减内建算术函数字符串运算符内建字符串函数表达式运算符流程控制语句delete 语句split 函数多维数组动作在一个 模式–动作 语句中, 模式决定动作什么时候执行。有时候动作会非常简单: 一条单独的打印语句或赋值语句. 在有些时候, 动作有可能是多条语句, 语句之间用换行符或分号分开。表达式表达式是最简单的语句, 大多数其他语句都是由不同类型的表达式组合而成。初等表达式是最原始的构造块: 它们包括常量, 变量, 数组引用, 函数调原创 2022-02-16 07:15:00 · 263 阅读 · 0 评论 -
awk编程?let‘s go(四) ---- 模式
目录前言说明程序格式模式1. BEGIN{ statements}2. END{ statements}3. expression{ statements}4. /regular expression/ { statements}5. compound pattern { statements}6. pattern1, pattern2 { statements}BEGIN 与 END将表达式用作模式字符串匹配模式复合模式范围模式前言经过前面的学习,我们对 awk 已经有了基础的认知,同时也学会了使用原创 2022-02-14 07:15:00 · 229 阅读 · 0 评论 -
awk编程?let‘s go(三) ---- awk的基础操作(二)
目录数组"一行" 实用技巧1. 输入行的总行数2. 打印第 5 行3. 打印每一个输入行的最后一个字段4. 打印最后一行的最后一个字段5. 打印字段数多于 2 个的输入行6. 打印最后一个字段值大于 4 的输入行7. 打印所有输入行的字段数的总和8. 打印包含 张三、王五 的行的数量9. 打印具有最大值的第二个字段, 以及包含它的行 (假设 $2 总是 正的)10. 打印至少包含一个字段的行11. 打印长度超过 21 个字符的行12. 在每一行的前面加上它的字段数13. 打印每一行的第 1 与第 2 个字段原创 2022-02-08 14:57:36 · 356 阅读 · 0 评论 -
awk编程?let‘s go(二) ---- awk的基础操作(一)
目录使用awk进行计算计数计算总和与平均数操作文本变量的存储字符串拼接打印最后一行内建函数流程控制语句If-else 语句While 语句For 语句温馨提示,本文适合有一定编程基础的人阅读。使用awk进行计算一个动作就是一个语句序列, 语句之间用分号或换行符分开。 前面已经见过只有一条单独的 print 语句的动作。 接下来的例子所包含的语句可以用来进行简单的数学或字符串计算。 在这些语句里, 不仅可以使用内建变量, 比如 NF, 还可以自己定义变量, 这些变量可以用来计算, 存储数据等。在 awk原创 2022-02-09 07:15:00 · 608 阅读 · 0 评论 -
awk编程?let‘s go(一) ---- 初识awk
目录前言快速开始AWK 程序的结构运行 AWK 程序AWK的简单的输出打印每一行打印某些字段NF, 字段的数量打印行号将文本放入输出中更精美的输字段排列BEGIN 与 END前言在学习本文之前,相信有一部分人和我之前一样,对awk的认知停留于对某个简单命令的使用。对于我们做 java 开发的,最经典的一个案例莫过于重启服务时经常看到的一个脚本#!/bin/bash# 重启xx服务ps -ef | grep application | grep -v grep | awk '{print $2}'原创 2022-01-29 10:00:00 · 345 阅读 · 0 评论 -
Shell脚本基础从头开始(完结篇)── 利用shell编写监控脚本以及shell操作数据库
目录前言shell编写监控邮件报警脚本shell操作数据库完结感言前言经过前面的学习,我们已经可以使用shell脚本在对应场景完成大部分的需求了,这节我将介绍另外两个shell脚本的使用场景,希望对你有帮助。shell编写监控邮件报警脚本日常工作中,服务的正常运行往往依赖很多的中间件,例如mysql、redis、mq等,这时可能就需要一些监控机制来监控中间件的运行,如果中间件出现异常能够及时反馈给相关人员,以便能快速恢复服务。一个简单的监控数据库服务脚本:#!/bin/bash# 监控数据库服原创 2022-01-25 15:27:28 · 1530 阅读 · 0 评论 -
Shell脚本基础从头开始(十二)── 制作一个字符菜单
目录原创 2021-12-28 07:00:00 · 868 阅读 · 0 评论 -
Shell脚本基础从头开始(十一)── shell的文本过滤(二)
目录sed 命令sort 命令uniq 命令split 命令sed 命令sort 命令uniq 命令split 命令原创 2021-12-27 07:00:00 · 619 阅读 · 0 评论 -
Shell脚本基础从头开始(十)── shell的文本过滤
目录find 命令grep命令awk命令find 命令作用: find命令主要用于查找满足某种条件的文件。语法:find 查找的起始目录 选项 查找的关键字例如:在当前目录下查找以.txt结尾的文件find . -name "*.txt"在当前目录下查找以字母A到Z开始的文件find . -name "[A-Z]*"# 或者是find -name "[A-Z]*"在当前目录下找属性为755(权限)的文件find . -perm 755在当前目录下找属主为root的文件fin原创 2021-12-24 07:00:00 · 1728 阅读 · 0 评论 -
Shell脚本基础从头开始(九)── shell的循环语句控制
目录前言continuebreak前言通过前面的条件判断以及循环语句的学习,我们已经可以使用shell脚本做很多事了。但是很多时候,循环语句可能需要一些特别的控制,比如说我要求 1 加到 100 偶数的和,当然,你可以使用普通的循环,把每次循环增加的值(步长)改为 2 就可以做到,这样确实可以做到。那如果我需要做这样一个需求,从一堆文件中内容里面找到某个内容,这肯定需要循环,把每个文件的内容读出来确认是不是要找的,如果我的运气特别好,读到第一个文件发现就找到了想要的内容,这时候余下的文件是不是就没必要去原创 2021-12-23 07:00:00 · 411 阅读 · 0 评论 -
Shell脚本基础从头开始(八)── shell的循环语句
目录前言for语句常规 for 语句for in 语句while语句前言shell的循环控制语句和其他语言类似,主要氛围 for 语句 以及 shell语句,但是shell脚本的语法和其他语法还有些不一样,相信通过前面的学习已经看出来了。循环语句主要是用来做一些需要多次执行类似事情的操作,比如我要求从 1 加到 100 的和。for语句shell脚本的for语句主要分为两种,一种是和常规语言那种,一种是for in语句,接来下我们分别看两个例子。常规 for 语句就拿上面的例子来说,求从 1 加原创 2021-12-22 07:00:00 · 404 阅读 · 0 评论 -
Shell脚本基础从头开始(七)── shell的流程控制
目录前言`shell`流程控制`if` 语句单条件 if 语句多条件 if 语句`case` 语句前言前面我们已经学习了shell的条件测试,回忆一下,有针对文件状态的测试,有针对整数的测试以及字符串的测试,还有逻辑测试,其实条件测试主要就是用在程序的流程控制,今天我们就来学习怎么使用条件测试来控制程序的执行流程。shell流程控制if 语句单条件 if 语句基本语法:if 条件成立(条件测试)then 做什么事(需要执行的程序)else 做什么事(需要执行的程序)fi多条件原创 2021-12-21 07:00:00 · 409 阅读 · 0 评论 -
Shell脚本基础从头开始(六) ── shell条件测试
目录前言什么是条件测试条件测试分类文件状态测试字符串比较整数值比较逻辑测试前言前几节我们学习了shell脚本变量的定义以及输入输出,这节我们来学习shell的条件测试。什么是条件测试所谓条件测试,即shell中用来判断是否满足某某条件的语句,例如某个文件是否存在?用户输入的数字是否大于等于某个值等,其主要作用是用来控制程序的执行流程。条件测试分类shell的条件测试主要包括文件状态测试、字符串比较、整数值比较以及逻辑测试几类。文件状态测试格式:[ 操作符 文件或目录 ]注意:shell 条原创 2021-12-19 23:15:22 · 709 阅读 · 0 评论 -
Shell脚本基础从头开始(五)── shell的输入输出
目录shell的输入关于`cat`shell的输出shell的输入前面学习的过程中,我们提到了使用read -p命令,shell可以接收用户输入的参数并赋值给对应的变量,这里再介绍一个echo -n,可以实现同样的效果。#!/bin/bash# 关于 read 命令的使用read -p "please input your name:" nameecho "hello,$name!"echo -n "请输入你的名字:"read nameecho "你好,$name"使用echo可原创 2021-12-17 07:00:00 · 1092 阅读 · 0 评论 -
Shell脚本基础从头开始(四)── 第一个shell脚本
目录一、 前言二、认识`shell`脚本`shell`脚本包含的内容执行`shell`脚本的方式第一个`shell`脚本三、`shell`脚本变量的种类用户自定义变量定义变量使用变量`"`、`'`、`反引号`的区别删除变量系统预定义变量位置变量一、 前言经过前面三节基础的学习,我们终于要迈入shell的大门了。作为一个后端开发,不一定要精通shell脚本开发,但是需要掌握一定的shell编程技巧,毕竟shell脚本作为一门轻量级脚本语言,很多时候可以帮助我们完成一些重复的劳动,极大的释放劳动力。二、认原创 2021-12-16 07:00:00 · 763 阅读 · 0 评论 -
Shell脚本基础从头开始(三)── linux的权限管理
目录前言Linux权限的认识第一部分`drwxrwxr-x+`第二部分 数字`2`第三部分 `root`第四部分 `root`第五部分 `4096`第六部分 `12月 6 13:50`第七部分 `logs`chmod 权限控制基于`chmod`的用户分组用户管理1.查看用户2.添加用户3.删除用户4.给用户设置或者更新密码用户与组1.把用户加入组2.把组中用户删除权限分配1.基于用户分组的权限分配acl 权限控制sudo 权限控制前言这节我们将学习linux的权限控制,linux的权限控制主要有 3 种原创 2021-12-15 07:00:00 · 672 阅读 · 0 评论 -
Shell脚本基础从头开始(二)── 输出重定向
目录前言输出重定向`>` 符号`>>` 符号`1>、2>、&>` 符号前言上节我们学习了linux的一些使用技巧,这节我们一起来学习下linux的输出重定向。作为一个后端开发,经常需要在开发环境部署一些项目,有时候会拿一些别人写好的脚本使用或者是稍微改一改用在自己的项目。那么,你是否对>、>>、1>、2>、&>这些命令感到陌生,它们到底是什么作用,今天就带你一问彻底弄懂它们!输出重定向> 符号>的作原创 2021-12-14 07:00:00 · 607 阅读 · 0 评论 -
Shell脚本基础从头开始(一)── 几个linux实操技巧
目录前言`tab`键的使用关于`history`命令关于清屏关于命令别名前言作为一个后端开发,平时总少不了和linux打交道,但是由于没有系统学习过,对有些东西总是似是而非,趁着有时间,一起学一波?学习linux先来几个相关的基础常识:tab键的使用tab键是玩linux必知必会的一个能 ---- 强大的自动补全。可以说那里不会那里按tab!日常工作中经常会遇到某个命令只记得前两个字母,或者是某个文件问价夹的名字记不清了,这时候你只需要输入前几个字母然后按下tab键,神奇的事情发生了,它会自动补原创 2021-12-13 07:00:00 · 577 阅读 · 0 评论 -
有趣的linux命令之history
historyhistory命令用于显示指定数目的指令命令,读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件。该命令单独使用时,仅显示历史命令,在命令行中,可以使用符号!执行指定序号的历史命令。历史命令是被保存在内存中的,当退出或者登录shell时,会自动保存或读取。在内存中,历史命令仅能够存储1000条历史命令,该数量是由环境变量HISTSIZE进行控制。history常见命令参数-c:清空当前历史命令;-a:将历史命令缓冲区中命令写入历史命令文件【/root/.原创 2021-09-08 18:12:58 · 175 阅读 · 0 评论