【shell】shell指令学习

news2024/11/15 17:51:51

仅供本人自学,完全从自己可以理解的角度写的,知识点都是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.coloradmin.cn/o/1237250.html

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

相关文章

【AGC】鸿蒙应用软件包上传问题解析

【问题背景】 近期收到了一些反馈&#xff0c;一些鸿蒙元服务开发者在发布应用市场的过程中&#xff0c;上传.app包时遇到了不同的报错&#xff0c;导致上传失败&#xff0c;下面来看一下这些报错的具体原因&#xff0c;如何正确打包上传。 【问题描述1】 HarmonyOS元服务软件…

排序算法--选择排序

实现逻辑 ① 第一轮从下标为 1 到下标为 n-1 的元素中选取最小值&#xff0c;若小于第一个数&#xff0c;则交换 ② 第二轮从下标为 2 到下标为 n-1 的元素中选取最小值&#xff0c;若小于第二个数&#xff0c;则交换 ③ 依次类推下去…… void print_array(int a[], int n){f…

逐字节讲解 Redis 持久化(RDB 和 AOF)的文件格式

前言 相信各位对 Redis 的这两种持久化机制都不陌生&#xff0c;简单来说&#xff0c;RDB 就是对数据的全量备份&#xff0c;AOF 则是增量备份&#xff0c;而从 4.0 版本开始引入了混合方式&#xff0c;以 7.2.3 版本为例&#xff0c;会生成三类文件&#xff1a;RDB、AOF 和记…

这7款神仙软件,程序员必备!

如果你是程序员、开发者、网络运维等 IT 从业者日常工作中大家肯定会用到很多网站&#xff0c;今天给大家带来7款压箱底的神仙软件&#xff0c;希望可以帮助有需要的码农朋友实现更高效地办公。 一、Everything 适用&#xff1a;本地文件搜索神器 就是为了极速检索而生,其实…

随机微分方程数值模拟

http://www.lpma-paris.fr/pageperso//lemaire/projets/Papers/NiVi08.pdf See 知乎https://zhuanlan.zhihu.com/p/28628912

CRM商机管理软件:构建客户为中心的管理理念

企业为什么选择CRM商机管理软件&#xff1f;1.CRM软件能够帮助企业建立以客户为中心的管理理念&#xff1b;2.CRM商机管理软件全面直观的展示客户数据&#xff1b;3.市场人员可以制订个性化的营销策略&#xff1b;4.移动应用为外出的销售带来的便利。 1.构建客户为中心的管理理…

2304. 网格中的最小路径代价 : 从「图论最短路」过渡到「O(1) 空间的原地模拟」

题目描述 这是 LeetCode 上的 「2304. 网格中的最小路径代价」 &#xff0c;难度为 「中等」。 Tag : 「最短路」、「图」、「模拟」、「序列 DP」、「动态规划」 给你一个下标从 0 开始的整数矩阵 grid&#xff0c;矩阵大小为 m x n&#xff0c;由从 0 到 的不同整数组成。 你…

Java线程的学习

本来我以为这可能只是Java里的一小块知识点&#xff0c;但当我搜索自己关注的Up主的网课时&#xff0c;觉得还是开一个系列来记录好了。我的记录绝不仅仅是照搬课程中的内容&#xff0c;我会带上自己的理解以及示例代码、并且是按照本人的专业课老师上课的节奏来记录&#xff0…

maven打包可执行jar含依赖lib

修改pom.xml <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><!-- jdk8可用&#xff0c;其他jdk版本可能需改插件版本 --><version>2.3.7.RE…

迁新址 启新程|美创科技杭州总部乔迁仪式圆满举行

“迁新址 启新程” 2023年11月21日 美创科技杭州总部乔迁仪式隆重举行 杭州未来科技城管委会、余杭国投集团、浙江省网络空间安全协会、浙江鸿程、华睿投资、金艮投资、如山资本、赛伯乐投资、宽带资本、普华投资、国中创投、密码资本、东方富海、之江商学、阿里云、联通&…

AI辅助带货直播场景源码系统 附带网站的搭建教程

互联网技术的发展和普及&#xff0c;直播带货行业迅速崛起。然而&#xff0c;直播带货在带来商机的同时&#xff0c;也面临着诸多挑战。如直播内容缺乏新意、转化率低等问题。针对这些问题&#xff0c;AI辅助带货直播场景源码系统应运而生&#xff0c;旨在利用人工智能技术&…

项目管理PMP6.0-五大过程组、十大知识领域、四十九个过程(记忆码:7664363734)

项目管理PMP6.0-五大过程组、十大知识领域、四十九个过程&#xff08;记忆码&#xff1a;7664363734&#xff09; 项目经理的影响力范围三者关系图&#xff08;五大过程组、十大知识领域、四十九个过程&#xff09;五大过程组十大知识领域十大知识领域之间联系 四十九个过程&am…

C# Onnx 特征匹配 DeDoDe 检测,不描述---描述,不检测

目录 介绍 效果 模型信息 项目 代码 下载 介绍 github地址&#xff1a;https://github.com/Parskatt/DeDoDe DeDoDe &#x1f3b6; Detect, Dont Describe - Describe, Dont Detect, for Local Feature Matching The DeDoDe detector learns to detect 3D consisten…

FSCTF2023-Reverse方向题解WP。学习贴

文章目录 [FSCTF 2023]signin[FSCTF 2023]MINE SWEEPER[FSCTF 2023]Xor[FSCTF 2023]EZRC4[FSCTF 2023]ez_pycxor[FSCTF 2023]Tea_apk[FSCTF 2023]ezcode[FSCTF 2023]ezbroke[FSCTF 2023]rrrrust!!![FSCTF2023]ezrev&#xff08;未解决&#xff09; [FSCTF 2023]signin UPX壳&am…

arcgis中投影文件(.prj)和地理转换文件(.gtf)存储路径

1、投影文件&#xff08;自定义的.prj&#xff09;的存储路径 C:\Users\14635\AppData\Roaming\ESRI\Desktop10.5\ArcMap\Coordinate Systems 2、地理转换文件&#xff08;.gtf&#xff09;--自定义 C:\Users\14635\AppData\Roaming\ESRI\Desktop10.5\ArcToolbox\CustomTransfo…

ROS2串口通讯serial库(适用于humble版本)

要的串口操作的API介绍在这里&#xff1a;serial: serial::Serial Class Reference (wjwwood.io) 但是我们不是直接利用上面这个东西&#xff0c;而是使用的是根据这个改写的一个针对ros2的一个serial库&#xff0c;这个serial库是根据上面这个库改写来的&#xff0c;ros2的库在…

分布式系统的认证授权

一.分布式系统的认证授权大致架构 以云音乐系统为例&#xff1a; 注&#xff1a;一般情况下&#xff0c;我们会把认证的部分的接口提取为一个单独的认证服务模块中。 二.单点登录&#xff08;Single Sign On&#xff09; 单点登录&#xff0c;Single Sign On&#xff0c;简称…

140.【鸿蒙OS开发-01】

鸿蒙开发 (一)、初识鸿蒙1.初识鸿蒙(1).移动通讯技术的发展(2).完整的鸿蒙开发 (二)、鸿蒙系统介绍1.鸿蒙系统的官方定义(1).鸿蒙操作系统概述(2).鸿蒙的生态 2.鸿蒙系统的特点3.鸿蒙和安卓的对比4.鸿蒙开发的发展前景 (三)、鸿蒙开发准备工作1.鸿蒙OS的完整开发流程2.注册并实…

Win10系统无法登录Xbox live的四种解决方法

在Win10系统中&#xff0c;用户可以登录Xbox live平台&#xff0c;畅玩自己喜欢的游戏。但是&#xff0c;有用户却遇到了无法登录Xbox live的问题。接下来小编给大家详细介绍四种简单的解决方法&#xff0c;解决后用户在Win10电脑上就能成功登录上Xbox live平台。 Win10系统无法…

MySql 计算同比、环比

一、理论 国家统计局同比、环比计算公式 增长速度是反映经济社会某一领域发展变化情况的重要数据&#xff0c;而同比和环比是反映增长速度最基础、最核心的数据指标&#xff0c;也是国际上通用的指标。在统计中&#xff0c; 同比和环比通常是同比变化率和环比变化率的简称&…