one command each day on Linux- big synopsis

url address

1.12) grep

Linux下面查找文本命令grep, 类似于Window编辑器的ctrl+F查找我们想要的内容,
PS:对比learning skill

看一下它的基础用法,准备一个目录文件和文本文件,

打印出这个单词,或者包含有这个字母的所有字符串

[root@iZ2vc5lqzt23aweti4j777Z ~]# grep hello April29th2024/testfile1.txt
hello
helloworld

会发现,它是区分大小写的>>如果忽略大小写, -i (ignore),

-w表示精确匹配, (The “-w” option in grep is used to match the search pattern as a whole word, )

反向查找,
[root@iZ2vc5lqzt23aweti4j777Z April29th2024]# grep hello testfile1.txt
hello
helloworld
[root@iZ2vc5lqzt23aweti4j777Z April29th2024]# grep -v hello testfile1.txt
Hello
Helloworld in the testfile1.txt
Today is a sunny day

(The -v option instructs grep to print all lines that do not contain or match the expression. The –v option tells grep to invert its output, meaning that instead of printing matching lines, do the opposite and print all of the lines that don’t match the expression.)

一个目录下面所有包含这个字符的文件
[root@iZ2vc5lqzt23aweti4j777Z April29th2024]# grep -r hello /root/April29th2024
/root/April29th2024/testfile1.txt:hello
/root/April29th2024/testfile1.txt:helloworld
/root/April29th2024/testfile3.txt:hello
/root/April29th2024/testfile3.txt:helloworld
/root/April29th2024/testfile2.txt:hello
/root/April29th2024/testfile2.txt:helloworld in the testfile1.txt
[root@iZ2vc5lqzt23aweti4j777Z April29th2024]# grep -r hello
testfile1.txt:hello
testfile1.txt:helloworld
testfile3.txt:hello
testfile3.txt:helloworld
testfile2.txt:hello
testfile2.txt:helloworld in the testfile1.txt
[root@iZ2vc5lqzt23aweti4j777Z April29th2024]#

-r 当前文件夹下面包含字符的文件行,-lr, 查找文件夹和子文件夹下面,包含字符串的文件
grep -lr Explained: The grep -lr command searches for a specific pattern in all files within a directory and its subdirectories. It then lists the filenames of the files that contain the pattern. The -l option tells grep to only print the filenames, and the -r option tells it to search recursively through all subdirectories.

[root@iZ2vc5lqzt23aweti4j777Z April29th2024]# grep -r hello
testfile1.txt:hello
testfile1.txt:helloworld
testfile3.txt:hello
testfile3.txt:helloworld
testfile2.txt:hello
testfile2.txt:helloworld in the testfile1.txt
[root@iZ2vc5lqzt23aweti4j777Z April29th2024]# grep -lr hello
testfile1.txt
subdirectory/testfile1.txt
testfile3.txt
testfile2.txt

-E 启用regularly expression, | means or

[root@iZ2vc5lqzt23aweti4j777Z April29th2024]# grep -E ‘hello|today’ testfile1.txt
hello
helloworld
,TDL
: to make search efficiency higher, we can use grep command with regular expression together,

在这里插入图片描述

{The abbreviation of “-r” in grep is “recursive.” This means that the grep command will search for the specified pattern in all files within the specified directory and its subdirectories.

📝 Other common grep abbreviations:

-i: Case-insensitive search
-v: Invert the match, showing lines that don’t match the pattern
-w: Match whole words only
-n: Show line numbers
-c: Show only the count of matching lines
-l: Show only the names of files with matching lines}

top(1)

今天学习一下Linux下面运用于实时监控CPU和内存资源占用情况的交互式工具TOP,看一下top显示内容,>
进入交互式工具内部,显示内容大致上分为三个区域,
1)概览区域,
2)空行是交互区域,我们在和top进行交互的时候呢,会显示一些交互的信息,
3)任务列表区,:默认情况下,按照我们的进程为单位,显示每一个进程相关的一些数据信息
在这里插入图片描述

好,我们来分区域,>>看一下每个区域里面的内容,>>
首先第一个区域的第一行,
top表示我们当前使用的命令是top>>> 后面跟着是系统时间 >>>up表示系统启动了多久>>>user表示有几个linux窗口开启

load average表示当前系统的平均负载, 后面的三个数字分别表示,当前系统在一分钟,10分钟还有一个15分钟的一个平均负载,
第二行是Tasks,也就是我们的任务, 默认以进程为单位,显示任务, total表示当前系统一共有131个进程,一个运行,130个休息,(进程状态还有中断interrupt等等形式)

第三行显示的是CPU相关的统计信息,单位是百分号,也就是我们cpu占用时间的一个百分比>>>
然后us呢?它代表没有修改过优先级的用户态进程,它占用CPU的一个百分比时间,这里提到概念就是优先级,我们知道我们的进程都是有优先级的,→也就是优先级高的会优先使用我们的资源,优先级低的一般会谦让一点, 让优先级高的优先使用我们的资源
和优先级相关的有两个数,一个是我们的priority也就是这里的pr(3–任务列表区),还有一个就是我们的NI,ni是一个nice值,nice值的取值范围[]-20,19],一共40个数,>>>nice值越小,代表优先级越高,

怎么理解NI(nice值)越小,优先级越高? for instance, 你和同事吃饭,都看上了一块肉,然后他把肉让给了你,你觉得这个人很nice,评价值变高,同样彰显他的资源占有能力就越低, 他的优先级越低,大家理解一下,

后面的sy(概览区)也就是我们的system,它sy代表我们的内核态进程,它使用CPU的一个百分比时间,;
然后后面的ni也就是我们的nice,代表修改过nice值,也就是修改过优先级的用户态进程,它占用CPU的一个百分比时间,;
后面的id(第一部分的概览区)也就是我们的idle,它呢也是显示空闲CPU的一个百分比,;
后面wa呢,也就是io wait,也就是系统中等待io操作的进程,它的一个CPU的占用百分比,;
后面的hi也就是hardware interrupt缩写,硬件中断占用我们cpu的百分比时间,;
后面的si,就是Software interrupt缩写, 也就是我们软中断,它占用CPU的一个百分比时间,;
后面的st,steal, 显示的是虚拟环境下虚拟化层,它由于在调度,也就是我们的虚拟化层调度我们虚拟机的时候,它(虚拟化层)也会去占用一些CPU,那么这些进程它占用CPU的的一个百分比时间

下面这个kib mem,它显示我们物理内存相关的一些统计信息,kib代表物理内存的单位是kib,total总共,free空闲,used使用比例,buff/cache用作缓存的内存总量,;
swap是我们的虚拟内存相关的一些统计信息,单位仍然是kib,然后有total,free和used. >>>出现句号 full stop/period后面的数, 就和虚拟内存没有关系了,显示的是系统中可用的内存总量是多少,大家注意一下,;

空格(第二个区域)可以暂时不管…

然后我们接着来看第三个区域,也就是我们的任务列表区,它这个区域显示了一些字段,这些字段是可以进行配置的,我们这里显示的只是一些比较重要的字段,
先来看一下pid是我们process id,进程id, 然后是user,它这里显示就是有效用户的一个用户名,
然后是pr也就是priority,也就是用户进程的一个优先级,
然后后面是我们的nice值, 刚才已经介绍过了,
后面virt也就是virtual memory的缩写,显示进程使用的一个虚拟内存的大小,每一个进程,它使用了多少的虚拟进程,单位仍然是kib
在这里插入图片描述
后面的res是resident的缩写,它是进程使用的
驻留内存
的一个大小,
后面的shr就是我们的share,就是我们进程使用共享内存的一个大小,
后面的s呢?是我们进程的一个状态,状态有好几种, s-sleeping, r-running, t-tracked or stop(已被跟踪/或者已停止的), z-zombie僵尸进程,
后面%CPU代表自从上一次更新到现在,任务所使用的一个CPU时间的一个百分比,
%MEM就是我们进程使用的一个物理内存,它占用的一个百分比,
TIME+呢?表示任务启动后到现在所使用的全部的CPU的时间,精确到1%秒,
后面的command就是我们的一个命令名称,.;

top命令默认进来的只有一个窗口(当前define),但是实际有四个窗口,默认窗口按照我们的%CPU,也就是我们使用CPU的进程, 使用CPU的一个百分比时间去进行排序的,
在这里插入图片描述
,调一下,高亮显示,怎么去调呢?我们可以按一下x,如果按了x没有反应,可以先先按b再按x (sum: x+b 组合键),就可以将按照哪一列字段高亮显示出来(第一窗口主要是按照这个%CPU字段来高亮设计的)_,具体的交互式操作,我们下一节会将会解释,

我们把这个调出来以后呢, 可以看一下其它的窗口了,>>我们可以用我们的g也就是go,>>当前是第一个窗口define,第二个窗口叫做job窗口,每一个窗口它的设置都是独立的,可以不受前面的控制,我们也可以用x,b去显示一下,

job窗口会显示一些和进程job相关的一些信息,它觉得这些东西和这个相关性比较高,同时比较重要就会在这里显示,这里其实是按照PID进行排序的,
在这里插入图片描述
2区域,空白行交互区域, 按g+1/2/3/4 job 2窗口,以pid进行排序的
在这里插入图片描述
窗口3 map窗口,以内存使用量进行排序的,把它进行高亮显示,
在这里插入图片描述
第四个窗口,user, 它是按照我们的有效用户名称排序,现实一些user相关的字段,
在这里插入图片描述

再介绍一下top命令下的模式,每个窗口都是全屏去显示的–全屏模式,>还有一种模式,分屏模式,也就是可以在同一个屏幕上去显示四个窗口(交替模式),>>shift + a = A,同时显示4个窗口,
在这里插入图片描述
前面的编号代表的是每个窗口,press a - next windows(下一个窗口); press w - previous wiindows(前一个窗口),
x+b只会高亮显示选择的一个窗口,
同时也可以使用g+1/2/3/4,切换到不同窗口高亮显示(x+b),;
这就是我们的四个窗口,两个模式,以及top命令它显示的一些内容,
在这里插入图片描述

top(2)

上一节我们学习了三个区域和四个窗口,这一节我们看下top里面我们可以使用的交互命令有那些?,首先看一下键盘上小写h,>>可以跳转到我们的一个帮助文档里面,
在这里插入图片描述
交互命令相关文档—版本—第一个窗口 (累计模式, 什么是累计模式呢? 在累计模式下,每一个进程, 都会列出它和它已经被杀死的子进程 使用过的所有的CPU时间,也就是把所有cpu时间给它累加起来, 进行计算,所以叫累计模式 >>>这个模式呢, 默认是关闭状态,

后面 system: Delay 3.0 secs…是我们投屏里面,它每次刷新的一个时间间隔, 默认呢是3秒刷新一次, >>再后面 Secure mode off是安全模式的状态, ,在安全模式下呢,我们没有办法在top里面去, 通过交互命令呢,杀死进程, 或者修改我们的进程nice值>>没办法修改我们top刷新的一个时间间隔,这是安全模式

下面呢,就是所有在top里面支持的交互式命令,它们的名称以及它们简单的一个说明,接下来一个一个来看一下这些命令
在这里插入图片描述
看之前,我们首先要明确2点, 在top里面所有的交互式命令呢, 它们都是严格区分大小写的,> 就是大写字母和小写字母它对应的, 功能可能会有所不同, be awared.

还有呢,就是我们所有的交互式命令,它只能在我们刚进来的那个交互模式下去使用,就是
刚进来的这个模式下有我们的命令交互区域,空白行的这个区域呢,才可以进行交互,
在这里插入图片描述
那么像在帮助文档里面,我们按这些键是没有效果的,>大家一定要注意,执行交互命令的时候,一定要按q,退出帮助文档,去执行我们的交互命令,下面来看一下这些交互式命令,

首先大写Z是一个颜色配置面板的一个开关,让我们对我们的窗口进行一些颜色配置,我们先来看一下这个交互式命令,好的我们回到交互式窗口下,按下Z(shift+z),就可以跳到这个颜色的配置了,它这里明确的告诉我们,当前窗口是第一个窗口,也是默认窗口;
因为我们在讲4各窗口的时候说过,每一个窗口都是独立的,所以我们也要去为不同窗口配置不同的颜色搭配方案;

下面这是一个简单精简版窗口,我们可以在这里看到我们颜色搭配的一个效果,下面就是这里提供了3个开关,
在这里插入图片描述
那么大写的B它是全局的一个是否加粗显示的一个开关,小写z控制彩色显示还是单色显示,那么现在它是on的时候,你看上面就可以看到它可以显示彩色, ,那么如果你按一下z把它off掉,那么它就只是单色显示,
在这里插入图片描述
B - 全局数字加粗,b - 任务栏数字加粗 (not significant )

下面就是在颜色配置的时候把它分成了四个target, (current target is T) - 当前选中的target, ,> S = Summary Data, S代表总结型的一个数据,;
这里我们要注意,我们的概览区域呢, 有负载均衡行, 还有下面的tasks CPU, 还有我们之前说过的内存相关的一些数据, ,;

那么这个总结型数据呢, 它只包含了我们的tasks,CPU还有我们内存相关的数据,> 第一行负载均衡它是不包含的,负载均衡这一行它的颜色是没有办法去修改的,>>> a or w : to commit & change another (change the current window color and then will change the next windows color )
在这里插入图片描述

PS: 只有在交互式窗口才能执行命令,h按钮下的帮助文档无法互动指令,

让我们具体来演示一下,从上到下配置一下,首先我们按一下大写的S, 选择我们当前要配置的是summary Data终结型数据(第一行),M = messages/Prompts(命令交互区域),标题行M黄色就不用改了,任务行任务信息改为7,白色,
在这里插入图片描述
配置完成以后,enter键,保存退出,这就按照我们设置颜色显示了,
在这里插入图片描述
然后按shift+e (E), mem内存, Swap - virtual memory,这两行是和内存相关的,按下E看一下它的单位(从kb到mb到Gb,最后回到kb,m,G,t,P,KB,),切换和概览区域相关的内存相关的单位,>>从小到大,循环切换,
然后e,小e就是任务列表区中每一个进程使用虚拟内存()的单位,

接下来, l第一行负载均衡,t代表task和cpu, m代表内存两行
在这里插入图片描述
在这里插入图片描述
l就是显示或隐藏负载均衡这一行信息,
在这里插入图片描述
按一下t就是显示tasks和cpu相关的信息命令, 第一次: cpu进度条; 第二次: 阴影显示, 第三次按t就不显示tasks和cpu行了,(和内存显示相同),>
它就是切换CPU和我们让你无行管的那两行里面它显示的效果,

m就是控制内存两行,效果和按t控制内存两行信息是一样的,

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这个就是控制上面(1-概览区)这几个部分,是否去显示的开关,

我们再来看一下,0,1,2,3它们的效果,他们也是开关,
在这里插入图片描述
0是控制任务列表里面某些字段,它下面有很多0,我们看一下,它是控制概览区这些零是不是要显示的开关,
在这里插入图片描述
在这里插入图片描述
这个0功能,智能控制部分字段, PR和NI无法控制,

按1控制的是,概览区和CPU相关的信息,以前我们说它有一个s代表它是把所有的CPU信息综合到这一行里面去显示,它显示的是所有CPU的一个综合信息,> 现在很多的机器都是多核(1核=1哥cpu)的,>>>那么如果你要然他显示每一个CPU详细信息,按数字键1,它就会单独列出每一个CPU的一个信息,博主这里有16个cpu,
在这里插入图片描述

我们这里有2个CPU,
在这里插入图片描述
列出每一个cpu相关信息,按一下数字键1,又回来了,.

数字键2是去控制概览区域里面,是否显示每一个numa节点(numa涉及到其它理论知识,用到时候查阅一下)上的CPU的统计信息,>效果和我们的数字1是差不多的,>>1控制的是CPU,2控制的是NUMA节点,就是是否显示numa节点,
在这里插入图片描述
还有就是数字键3, 这里有两个numa节点,数字键3就是选择你要显示哪一个numa节点上的CPU,
在这里插入图片描述
选0就是numa节点0上面的CPU,它就只显示前面的8个cpu(总共16个CPU),
在这里插入图片描述
数字开关的一个效果,接着来看一下, 大写I, ctrl+i,控制的是Irix模式, Irix模式影响的是我们CPU的一个使用率,它的一个显示效果,默认的咋们这个叫solaris模式,在solaris模式下面,任务的CPU使用率,会除以CPU总数,但是IRIX模式下,不回去除,根据需求选择是否使用这种模式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

top3)

f,F,X     Fields: 'f'/'F' add/remove/order/sort; 'X' increase fixed-width

f大小写功能都是一样的,都是打开我们任务列表区域里面,字段配置面板的一个开关,来看一下它的作用,稍后咋们一个一个来讲,

在这里插入图片描述
星号*代表会在当前窗口展示这个字段,没有星号就代表不展示,前面是缩写,后面是全称,>>>通过全称去判断每一个指标代表了什么具体含义,

下面加粗显示(高亮两行字段,通过左右方向键选择)区域,默认就是刚进来的时候,它会选中我们这个排序的一个字段(是否显示),那么你可以通过上下键去移动它,>>>移动完以后,我们就可以配置每一个字段,它是否去展示(按住d或者space),在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

智慧校园需要从哪些维度去做?

智慧校园作为校园信息化的关键产品,已经成为校园建设的标配。智慧校园是一个业务平台,他涉及校园事务的各个方面。智慧校园同时又是一个数据中心,他存储了所有的校园基础数据与业务数据,包括教工数据、学工数据、教务数据等。那么…

嘴尚绝卤味:传承经典,缔造美食新风尚

卤味,作为中国传统美食的代表之一,历经千年的传承与发展,早已成为无数食客餐桌上的宠儿。而在这个美食盛行的时代,嘴尚绝卤味凭借其独特的口感和精湛的工艺,成为卤味市场中的佼佼者,引领着卤味文化的新潮流…

基于java,SpringBoot和Vue的智慧校园在线考试留言讨论系统设计

摘要 基于Java, SpringBoot和Vue的智慧校园在线考试留言讨论系统是一个为现代教育需求定制的Web应用,它结合了最新的前后端技术来提供一个互动性强、用户友好的学习和交流平台。该系统旨在通过提供实时留言和讨论功能,增进学生间的互动以及师生之间的沟…

Altman确认:神秘Chatbot非GPT-4.5,OpenAI搜索引擎即将上线

🚀 Altman确认:神秘Chatbot非GPT-4.5,OpenAI搜索引擎即将上线 摘要:近日,Sam Altman在哈佛大学的演讲中确认,引发广泛猜测的gpt2-chatbot并非OpenAI即将发布的下一代模型GPT-4.5。与此同时,关于…

游戏AI的智能化:机器学习在虚拟生命中的应用

文章目录 写在前面游戏AI的智能化:机器学习在虚拟生命中的应用游戏内容的自动化创作:机器学习的革新性应用玩家体验的个性化优化:机器学习的定制化力量未来展望:机器学习塑造游戏行业新纪元游戏AI的智能化发展自动化内容生成的革命…

proteus使用问题

1、无法和视频里面一样新建工程 2、实验效果和视频不也一样 自己的电路图(灯不亮):

PADS 规则设置-导线不跟随器件-导线允许回路

1、PADS Layout中设置拖动器件时导线不跟着移动 2、PADS Router中设置走线允许回路

面试题:String类型长度有限制吗?最大多少?

简介 Java中String是有长度限制的。String还有长度限制?是的有,而且在JVM编译中还有规范,String长度限制的场景(将某固定文件转码成Base64的形式用字符串存储,在运行时需要的时候在转回来,当时文件比较大),那这个规范限制到底是怎么样的,我们分析下。 …

扩展学习|结合故事的力量和数字的力量:混合方法研究和混合研究综述

文献来源:Pluye, Pierre, and Quan Nha Hong. "Combining the power of stories and the power of numbers: mixed methods research and mixed studies reviews." Annual review of public health 35 (2014): 29-45. 文献获取:链接&#xff1…

企业宣传新思路!制作三维动画,塑造品牌形象

三维动画又称之为3D动画,通过三维动画技术模拟真实物体的方式使其成为一个有用的工具。其精确性、真实性和可操作性,被广泛应用于影视、工业、电子、广告等诸多领域。 三维动画是在现代技术不断创新发展的基础上而产生的新型艺术表现形式,已…

深入解析C#特殊字符:概念、分类与使用方法

文章目录 前言一、特殊字符的定义二、特殊字符的分类与作用1.转义字符2. 格式字符3. 逻辑运算符4. 运算符5. 字符串6. 注释 三、$:字符串内插(String Interpolation)四、:逐字字符串(Verbatim Strings)五、…

爱奇艺文娱知识图谱的构建与应用实践

2012年5月,Google发布了知识图谱(Knowledge Graph),以提升搜索引擎返回的答案质量和用户查询的效率。有了知识图谱作为辅助,搜索引擎能够洞察用户查询背后的语义信息,返回更为精准、结构化的信息,更大可能地满足用户的…

界面组件Kendo UI for Angular教程 - 构建强大的PDF阅读器(一)

如今当用户需要处理PDF文件时,通常不得不下载应用程序或者浏览器插件,控制用户如何与PDF交互并不是一件容易的事。如果我们提供PDF作为内容,用户可以下载它并使用浏览器或PDF本身提供的控件进行交互。然而,一些企业可能希望控制用…

PN结击穿与电容效应分析

PN结是半导体器件中的一个基本结构,它由P型半导体和N型半导体紧密接触并相互结合在一起形成。P型半导体富含空穴(正电荷载体),是通过掺入受主杂质原子得到的;而N型半导体富含自由电子(负电荷载体&#xff0…

『春招实习』2023年3月春招实习求职经历

『春招实习』2023年3月春招实习求职经历 简介货拉拉一面杭州吉里一面传墨科技一面 简介 3月初我便开始陆续投递简历,直观的感受就是【投递的太晚了】,很多公司很早就开始招聘实习生了。 但是自己一直在担心没准备好,所以就想着再准备一天就投…

Covalent Network(CQT)为 Arbitrum 生态提供 250 万美元的资助,以促进 Web3 的创新与发展

Covalent Network(CQT)作为 Web3 领先的“数据可用性”层,宣布将提供 250 万美元的资金以支持 Arbitrum 生态项目,包括 Arbitrum One、Nova、Orbit 或 Stylus。此举旨在通过提供资源和帮助,推动利用 Arbitrum 网络上 C…

第二证券|股票w是什么意思?

字母W开头是指在科创板上市,发行人具有表决权差异组织的,即同股不同权的股票。上市后不再具有表决权差异组织的,该特别标识撤销。 科创板其他一些特别的字母标识: 1、发行人尚未盈余的,其股票或存托凭据的特别标识为…

windows10为什么微信可以上网浏览器无法上网?

windows10为什么微信可以上网浏览器无法上网? 问题描述解决办法 问题描述 打开电脑学习时,微信可以上网,浏览器无法上网,如何解决? 解决办法 1.控制面板->网络和Internet 2.Internet选项 3.Internet属性->连…

SQLI-labs-第十三关和第十四关

知识点:POST方式的单引号和括号闭合错误,报错注入 第十三关 思路: 1、判断注入点 使用Burpsuite抓包 首先加入一个单引号,爆出了数据库语句错误,说明存在注入点,根据提示,这里可能是’)闭合错…

【prometheus】Pushgateway安装和使用

目录 一、Pushgateway概述 1.1 Pushgateway简介 1.2 Pushgateway优点 1.3 pushgateway缺点 二、测试环境 三、安装测试 3.1 pushgateway安装 3.2 prometheus添加pushgateway 3.3 推送指定的数据格式到pushgateway 1.添加单条数据 2.添加复杂数据 3.SDk-prometheus-…