【shell】shell指令学习

仅供本人自学,完全从自己可以理解的角度写的,知识点都是copy网上已有的学习资料,侵权请联系本人删除,谢谢。

1. 文本资料学习

学习Linux,从掌握grep、sed、awk开始吧。
Linux文本三剑客超详细教程—grep、sed、awk

grep更适合单纯的查找或匹配文本,sed更适合编辑匹配到的文本,awk更适合格式化文本,对文本进行较复杂格式处理。

开始copy知识点:

(1) grep

grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。我们利用这些返回值就可进行一些自动化的文本处理工作。
egrep = grep -E:扩展的正则表达式 (除了< , > , \b 使用其他正则都可以去掉\)
在这里插入图片描述
在这里插入图片描述

正则表达式:
在这里插入图片描述
(2) sed

功能:主要用来自动编辑一个或多个文件, 简化对文件的反复操作
在这里插入图片描述
sed里单引号和双引号的作用区别:
双引号里可以使用shell里的变量;单引号不能。
单引号和双引号里都可以存放模式。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
练习题:

shell命令三剑客之sed命令详解

显示文件的第一行,第二行
sed -n ‘1,2p’ sed.txt 或者
sed -n ‘3,$!p’ sed.txt
显示文件的第二行至第五行
sed -n ‘2,5p’ sed.txt 或者
sed -n ‘2,+3p’ sed.txt
显示文件的1,3,5行
sed -n ‘1p;3p;5p’ sed.txt

加入模式
显示包含2的行
sed -n ‘/2/p’ sed.txt
不显示1开头的行
sed -n ‘^1!p’ sed.txt
显示以2结尾的行
sed -n ‘/2$/p’ sed.txt
显示以1和3开头的行
sed -n ‘/ ^ [1,3]/p’ sed.txt

commend操作: d 删除操作
删除空行和注释
sed -r ‘/^$/ ^#/d’ sed.txt 操作:-r 支持扩展正则表达式
删除空行再删除注释
sed -e ‘/^ $/d’ -e ‘/^#/d’ sed.txt 或者
sed ‘/^ $/d;/^#/d’ sed.txt

commend操作: r 读入操作
在sed.txt文件的末尾后面读入/etc/passwd文件的所有内容
sed '/$r /etc/passwd/ sed.txt

commend操作:w 写入操作
将文件/etc/passwd的第一行写到sed.txt文件中
sed ‘1w sed.txt’ /etc/passwd

commend操作:s 替换操作
将sed.txt文件中的空格全部替换为冒号
sed ‘s/ /:/g’ sed.txt
在文件sed.txt的2到3行前面加上注释
sed -n ‘2,3s/^/#/p’ sed.txt
在文件sed.txt的每行末尾加上问号
sed -n ‘s/$/?/p’ sed.txt

(3) awk

awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入(stdin)、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk有很多内建的功能,比如数组、函数等,这是它和C语言的相同之处,灵活性是awk最大的优势。

下面记录博主斯言甚善 写的博文:awk命令的操作,看这一篇文就够了
awk工作流程可分为三个部分:
读输入文件之前执行的代码段(由BEGIN关键字标识);
主循环执行输入文件的代码段;
读输入文件之后的代码段(由END关键字标识)。
在这里插入图片描述
在这里插入图片描述

2. 视频学习

哔哩哔哩上面观看黑马程序员老师讲的视频,发现正是自己需要的,讲得浅显易懂,我能够学进去对自己而言就是最好的学习资料。附上视频链接如下:

https://www.bilibili.com/video/BV1st411N7WS?p=4&spm_id_from=pageDriver

下面都是我观看视频后的一些笔记(主要是截频)

软件包管理:yum工具

网络协议:
在这里插入图片描述
ssh:远程管理协议
scp: 数据同步,不能实现数据的实时同步
文件共享服务

shell通配符
shell小工具的使用:grep、cut、sort
grep:行过滤工具
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
打印行号
在这里插入图片描述
在这里插入图片描述
cut:列截取
截取每行的第5个字符
在这里插入图片描述
指定冒号":"分隔符,截取第一列和第三列
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
只去除重复连续的行

在这里插入图片描述
tee默认是覆盖写入文件,加“-a”是追加写入
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
awk是一种编程语言,主要对文本及数据进行处理的。逐行扫描的,从第一行到最后一行,寻找匹配特定模式的行,找到后进行想要的操作。
print是awk的打印函数,可以匹配正则表达式。
在这里插入图片描述
gawk是awk的GNU版本。awk软链接到gawk。
在这里插入图片描述
统计网站的访问量、IP量。
支持条件判断、循环,比sed强大很多。
在这里插入图片描述
单引号中可以使地址定位也可以使执行指令
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
打印出文件的所有行:
在这里插入图片描述
打印文件的第一行至第五行:
NR:地址定位
在这里插入图片描述
不加打印peint动作,默认也会打印出来
在这里插入图片描述

打印出第一行或者第五行:
在这里插入图片描述
打印出以冒号分隔的第一列到最后一列:
$NF是最后一列
在这里插入图片描述
打印出以冒号分隔的第一列到最后一列,以及打印出倒数第二列:
在这里插入图片描述
打印出文件的列数,awk是逐行处理文本的
在这里插入图片描述
练习题:
在这里插入图片描述
awk是逐行处理文本的
NR1,NR5和/^root/是两个条件,第一个是第一行的内容,第二个是第五行的内容,第三个是以root开头的行,满足这几个条件的行都会被打印出来。
在这里插入图片描述
awk按照分隔符打印出来之后,默认以“空格”分割

用“OFS”指令指定分割符
在这里插入图片描述
定义输入间隔符和输出间隔符
在这里插入图片描述
不定义输入间隔符,用双引号引起来输出间隔符
在这里插入图片描述
RS:定义换行,awk默认换行符结尾的就是一行
RS和ORS了解即可,最常用的是“FS”和“OFS”
在这里插入图片描述
在这里插入图片描述
print函数会自动换行,printf函数默认不会在结尾自动换行,要加“\n",echo默认不会换行,echo -n才会自动换行
在这里插入图片描述
在这里插入图片描述
awk中定义变量,变量前不需要加$符号

打印变量3,后面跟了文件名称,awk每行都打印出变量3
在这里插入图片描述
不敲BEGIN,敲一下回车键打印出一个变量3
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
正则表达式
在这里插入图片描述
在这里插入图片描述
打印1至5行并且包含以root开头的行
在这里插入图片描述
前导字符出现一次或多次
在这里插入图片描述
在这里插入图片描述
$(id -u)==0
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
计算1-10以内奇数的和
在这里插入图片描述
使用awk实现:计算1-10以内奇数的和
在这里插入图片描述
awk处理的对象是文本或者数据,管道符前面的是awk的处理对象,处理对象是数据,每处理一行的数据就将数据赋值给$0
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/158501.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【LeetCode刷题笔记】DFSBFS(一)

51. N 皇后 解题思路: DFS + 回溯 :由于 NxN 个格子放 N 个皇后, 同一行不能放置 2 个皇后,所以皇后必然放置在不同行 。 因此,可以从第 0 行开始,逐行地尝试,在每一个 i

P9232 [蓝桥杯 2023 省 A] 更小的数(区间DP)

求大数字某连续部分反转后&#xff0c;比原数字小的个数 思路&#xff1a;自前向后遍历 ai是位于数字第i位的数字 aj是位于数字第j位的数字&#xff08;i<j&#xff09; ai>aj f[ai][aj]1; ai<aj f[ai][aj]0; aiaj f[ai][aj]f…

linux常用命令总结(通俗易懂,快速记忆版)

文章目录 ls命令echo命令cd命令head命令tail命令ps命令cp命令rm命令mkdir命令rmdir命令查看文件内容命令其他常用命令 ls命令 ls 是list的缩写list的中文是列表的意思 ls就是列出指定位置的文件夹和文件 可用参数 &#xff1a; -a, -l, -h , -R, -Q 参数含义及作用-a-a (a是…

Javaweb实现数据库简单的增删改查

JDBC介绍 JDBC &#xff08; Java Data Base Connectivity &#xff09; 是一 种 Java 访问 数据库 的技术&#xff0c;它提供 执行 SQL 语句的 Java API &#xff0c;由 一组 类 和接口组成&#xff0c;可以为 不同的 数据库提供统一访问 JDBC工作原理 JDBC应用编程 1、准备…

PMP考试

一、关于准考信下载 为确保您顺利进入考场参加xxx月份考试&#xff0c;请及时登录本网站个人系统下载并打印准考信&#xff0c;准考信下载时间为xxx-xxx。如通过以上方式无法查找准考信&#xff0c;请您及时拨打所在考点老师联系电话&#xff0c;如有特殊问题&#xff0c;请发…

限时开发、码力全开、2w奖金!AGI Hackathon等你挑战!

AGI时代&#xff0c;我们已不再满足于简单的产品开发&#xff0c;与大模型结合的无限想象力&#xff0c;成为开发者们新的追求。 你有能力将想法转化为现实吗&#xff1f;你有勇气接受挑战&#xff0c;创造全新的AI应用吗&#xff1f; 如果你有热情&#xff0c;有信心&#x…

老知识复盘-SQL从提交到执行到底经历了什么 | 京东云技术团队

一、什么是SQL sql(Structured Query Language: 结构化查询语言)是高级的费过程化编程语言,允许用户在高层数据结构上工作, 是一种数据查询和程序设计语言, 也是(ANSI)的一项标准的计算机语言. but… 目前仍然存在着许多不同版本的sql语言,为了与ANSI标准相兼容, 它们必须以相…

迪杰斯特拉算法(C++)

目录 介绍&#xff1a; 代码&#xff1a; 结果&#xff1a; 介绍&#xff1a; 迪杰斯特拉算法&#xff08;Dijkstras algorithm&#xff09;是一种用于计算加权图的单点最短路径的算法。它是由荷兰计算机科学家Edsger W. Dijkstra在1956年发明的。 该算法的思路是&#xf…

振南技术干货集:制冷设备大型IoT监测项目研发纪实(4)

注解目录 1.制冷设备的监测迫在眉睫 1.1 冷食的利润贡献 1.2 冷设监测系统的困难 &#xff08;制冷设备对于便利店为何如何重要&#xff1f;了解一下你所不知道的便利店和新零售行业。关于电力线载波通信的论战。&#xff09; 2、电路设计 2.1 防护电路 2.1.1 强电防护 …

11月22日星期三今日早报简报微语报早读

11月22日星期三&#xff0c;农历十月初十&#xff0c;早报微语早读。 1、我国自主研发气象无人艇实现首次海上云雾立体观测。 2、国家统计局与国家医疗保障局签署数据共享利用合作协议。 3、三部门&#xff1a;加强全国重点文物保护单位内古树名木保护。 4、油价4连降&#xf…

VSCode配置用户代码段以及常用快捷键汇总

一&#xff1a;前言 VSCode 是一款由微软开发的轻量级编辑器&#xff0c;可以安装插件和兼容多种语言。其本身已经是目前前端开发所使用的主流软件。那么在开发过程中&#xff0c;我们经常要写很多重复性的代码&#xff0c;比如当你去新建一个 .vue 页面的时候&#xff0c;往往…

在Ubuntu18.04安装适合jdk8的eclipse

直接在Ubuntu软件那里下载的eclipse不能用&#xff0c;下载后启动会报错&#xff1a;Eclipse An error has occurred. See the log file/home/hadoop/.eclipse/ org.eclipse.platform_3.8_155965261/ configuration/1700567835954.log 上网搜索方法&#xff0c;按教程说的修改e…

Deepmind开发音频模型Lyria 用于生成高品质音乐;创建亚马逊新产品评论摘要

&#x1f989; AI新闻 &#x1f680; Deepmind开发音频模型Lyria 用于生成高品质音乐 摘要&#xff1a;Deepmind推出名为Lyria的音频模型&#xff0c;可生成带有乐器和人声的高品质音乐。Lyria模型针对音乐生成的挑战&#xff0c;解决了音乐信息密度高、音乐序列中的连续性维…

redis的一些操作

文章目录 清空当前缓存和所有缓存配置内存大小&#xff0c;防止内存饱满设置内存淘汰策略键过期机制 清空当前缓存和所有缓存 Windows环境下使用命令行进行redis缓存清理 redis安装目录下输入cmdredis-cli -p 端口号flushdb 清除当前数据库缓存flushall 清除整个redis所有缓存…

【Linux】深入理解系统文件操作(1w字超详解)

1.系统下的文件操作&#xff1a; ❓是不是只有C\C有文件操作呢&#xff1f;&#x1f4a1;Python、Java、PHP、go也有&#xff0c;他们的文件操作的方法是不一样的啊 1.1对于文件操作的思考&#xff1a; 我们之前就说过了&#xff1a;文件内容属性 针对文件的操作就变成了对…

悄悄上线:CSS @starting-style 新规则

最近 Chrome 117&#xff0c;CSS 又悄悄推出了一个新的的规则&#xff0c;叫做starting-style。从名称上来看&#xff0c;表示定义初始样式。那么&#xff0c;具体是做什么的&#xff1f;有什么用&#xff1f;一起了解一下吧 一、快速了解 starting-style 通常做一个动画效果…

【用unity实现100个游戏之16】Unity中程序化生成的2D地牢5(附项目源码,完结)

文章目录 最终效果前言生成墙壁优化方法一、使用rule tile方法二、使用代码生成墙壁补充最终效果后续参考源码完结最终效果 前言 本期是本项目最后一期,主要是进行墙壁的生成优化和补充一下剩下了的其他内容 生成墙壁优化 方法一、使用rule tile 我这里大概给个rule tile参…

ASM字节码操作类库(打开java语言世界通往字节码世界的大门) | 京东云技术团队

前言&#xff1a;授人以鱼不如授人以渔&#xff0c;应用asm的文章有很多&#xff0c;简单demo的也很多&#xff0c;那么ASM都具备哪些能力呢&#xff1f;如何去学习编写ASM代码呢&#xff1f;什么样的情景需要用到ASM呢&#xff1f;让我们带着这些问题阅读这篇文章吧。 这里由…

每日一练:X加上100为完全平方数,再加上168仍然为完全平方数

题目 一个整数&#xff0c;它加上100后是一个完全平方数&#xff0c;再加上168又是一个完全平方数&#xff0c;请问该数是多少&#xff1f; 实现方式1 解题思路 设整数为x&#xff0c;根据题意建立方程&#xff1a;   (1) x 100 是一个完全平方数&#xff0c;即存在整数a满…

技术分享| gcc版本升级到5.2

一、介绍 GCC&#xff08;GNU Compiler Collection&#xff09;是一套广泛使用的开源编译器集合&#xff0c;用于编译多种编程语言&#xff0c;包括C、C、Objective-C、Fortran等。GCC 的不同版本提供了许多新功能、改进和修复&#xff0c;其中包括从 GCC 4.8.5 升级到 GCC 5.…