Linux基础(第三部分)

目录

一、查看文件显示命令

1、cat:查看文件内容;上下合并文件

2、标准输入与标准输出:

3、例题:如何合并两个文件

4、tac 就是反方向查看

5、rev 把一行倒过来 

6、hexdump  查看硬件设备

7、more和less

8、查看文件内容head和tail

9、wc :显示行单词字符数

10、grep:过滤文件中的关键字

11、split 分割文件

12、tr:基本功能转换

13、tar 归档(对选项的顺序有要求)

二、vi编辑器

①命令模式:才进去的模式

1.退出vim

2.光标跳转

3.单词间跳转

4.当前页跳转

5.行首行尾跳转

6.行间移动

7.复制命令

8.字符转换大小写

9.交换字符位置

10.删除命令

11.粘贴命令

12.r  是替换 

13.R 是开启替换模式,一直换

14.h  当前页面最开始

15.J 合并两行

16./ 是查找

17.ctrl +r 是取消撤销  

18.i 是重复次数         100 i ky35    就是100遍ky35

19.di 符号  删除符号之间的东西

②输入模式:

③末行模式:

三、查找与替换


 

一、查看文件显示命令

1、cat:查看文件内容;上下合并文件

80f2b8fa5651456c9928a7263c7bc4c7.png

①只能查看普通文件

②file anaconda -ks.cfg查看文件类型

③缺点:如果文件内容过多会显示不全

④more 可以看到更多的,看完会自动退出

⑤less 看完不会自动推出

⑥hexdump:查看非文本文件内容

查看非文本文件内容
hexdump
-C:输出规范的十六进制和ASCII码
-n length:格式化输出文件的前length个字节[root@localhost ~]#hexdump -C -n 512 /dev/sda
#查看前512字节

2、标准输入与标准输出:

标准输入:就是你输入的命令

标准输出:反馈给你的东西,只有它才能改变方向

错误输出:电脑的报错信息

重定向,重新定义标准输出方向

3、例题:如何合并两个文件

cat a      aaa       cat b       bbb

cat a b >c  cat c     aaa bbb

>一个是覆盖

>>两个是追加

①如何合并两个文件cat(横向合并)

cat a b >c

②paste 横向合并  

paste a b >c

③管道符:将命令的结果,当作后面命令的执行参数执行

管道符:①左边的命令一定要有标准输出             cat可以左边也可以右边

②右边的命令一定可以接收标准输出

③例子:命令一  | xargs 命令二

4、tac 就是反方向查看

5、rev 把一行倒过来 

echo "123" rev 就是321

6、hexdump  查看硬件设备

7、more和less

moreless
回车就代表一行/关键字  进行搜索,对大小写敏感
空格代表下一页n就是向下,v就是向上

8、查看文件内容head和tail

①head 查看文件开头部分内容(默认10行)

公式:head -n 数字  文件名  看文字的数字行

[root@localhost test]# head -n -3 3.txt 
#-3 不显示最后3行

补充:head -c 

echo 123    head -c1   结果为1  head -c2  结果为2

②tail  查看文件结尾部分内容(默认结尾10行)

tail -f 文件名  实时追踪查看文件后的行

tail -n 具体数字  文件名  实时跟踪最后十行

代码:

tail -n -3 3.txt 
#-3 只显示最后三行head -n +3 3.txt 
#就只显示前三行tail -n +3 3.txt #
#从第三行开始tail -f  /var/log/messages
#实时显示 /var/log/messages   文件的后10行

③head -n -k 减少k行

例题:seq 5 | head -n -3 结果为12

④tail -n - k 从k行开始显示

例题:seq 5 | tail -n +2结果为2345

9、wc :显示行单词字符数

-l:统计行数

-w:统计单词数量

-c:统计字节数

[root@localhost ~]# cat a.txt 
dasdasdads[root@localhost ~]# wc a.txt 1  1 11 a.txt[root@localhost ~]# cat a.txt 
das dasdads[root@localhost ~]# wc a.txt 1  2 12 a.txt  

10、grep:过滤文件中的关键字

正则表达式:匹配文件中的字符串(grep  awk   sed)

通配符:匹配文件名称(ls   find)

grep 后面跟的是正则表达式

grep的作用:过滤,文件中的命中字符

用法:grep  选项   查找条件  目标文件

例题:过滤/etc/passwd 文件中含有root的行

grep root passwd

  • -i:查找时忽略大小写

  • -v:反向查找,输出与查找条件不相符的行(反选)

  • -o 只显示匹配内容

  • -f 将a文件作为条件去匹配b文件得出两个文件中的相同部分

  • -c 只显示匹配的行数

  • -r 递归 快速过滤 不过滤软链接  表达式  文件夹

  • -w 把字符串看成单词

  • -n 显示行号

cat /etc/fstab |grep  '^#' 
#找出/etc目录下fstab文件中以#号开头的行 先cat显示再接管道grep查找

grep需要跟正则表达式

. 代表任意字符

^ 表示一行的开头         grep '^poot'passwd     就是passwd中以poot开头的行

$一行的结尾                 grep 'poot$' passwd  就是passwd中以poot结尾的

grep  -n '^poot'passwd

-vn 就是除去空行

-v '^$'就是非空行

例题:在某一文件中,如何快速找到含有root的字符的文件,如何快速过滤数据

grep -r 表达式  文件夹

11、split 分割文件

举例:我有一个10G的文件,如何分割成小的文件

-b  字节   按字节拆分

-d 或-l

12、tr:基本功能转换

①格式

tr  选项  set1 [set2]

set是一组字符串,一般都可以按照字面意思理解

-d 删除

-s 压缩

-c 用字符串1中字符集的补集替换此字符集,要求字符集为ASCII。

[root@localhost ~]#tr 123 abc
#只要出现123 就转换成abc

13、tar 归档(对选项的顺序有要求)


-c    创建(Create).tar 格式的包文件
-C    解压时指定释放的目标文件夹
-x    解开.tar 格式的包文件
-f    表示使用归档文件 (一般都要带上表示使用tar)
-p    打包时保留文件及目录的权限
-P    打包时保留文件及目录的绝对径
-t    列表查看包内的文件 (要和f一起使用)在不解压的情况查看归档文件内容
-v    显示压缩或者解压的过程
-j    调用 bzip2 程序进行压缩或解压
-z    代表使用 gzip 程序进行压缩或解压

tar语法  (*. tar .gz)

tar -zcvf 压缩包名字  需要压缩的文件

注意:1.tar 后面一定要加-f 选项

2.加了-f要放在最后  不加就无所谓

3.解压时可以不考虑gz还是bzip2

二、vi编辑器

vi命令就是文本编辑器  vim是vi的升级版

通式  vim  选项   名称
#    +#,打开文件后,让光标处于第#行的行首,+#则默认行尾

! 就是打开上一次文件

+/PATTERN 让光标处于第一个被PATTERN匹配到行首

三种模式:输入模式  末行模式   命令模式

注意:输入和末行之间无法相互转换,必须退回命令模式

c88dcd744d9e4fd6baa639f9da4c0670.png

①命令模式:才进去的模式

行间跳转  ,复制粘贴  删除

1.100G 就是跳到第100行

2.gg就是首行

3.G就是末行

行内跳转:

1.退出vim

ZZ #保存退出
ZQ #不保存退出

2.光标跳转

h #左  l #右   j #下   k #上

3.单词间跳转

w  #下一个单词的词首
e  #当前或下一单词的词尾
b  #当前或前一个单词的词首

4.当前页跳转

H  #页首     
M  #页中间行     
L  #页底zt  #将光标所在当前行移到屏幕顶端
zz  #将光标所在当前行移到屏幕中间
zb  #将光标所在当前行移到屏幕底端

5.行首行尾跳转

^  #跳转至行首的第一个非空白字符
0  #跳转至行首
$  #跳转至行尾

6.行间移动

G    #最后一行
1G   #第一行
gg   #第一行
10G  #第十行

7.复制命令

y      #复制命令
Y      #复制整行
yy     #复制一行
10 yy  #复制十行

8.字符转换大小写

~   #转换大小写

9.交换字符位置

xp  #交换光标所在处的字符及其后面字符的位置

10.删除命令

d        #删除命令,可结合光标跳转字符,实现范围删除
d$       #删除到行尾
d^       #删除到非空行首
d0       #删除到行首
dw       #下一个单词的词首
dd       #剪切光标所在的行
x        #剪切光标处的字符
J(大写)  #删除当前行后的换行符

11.粘贴命令

p粘贴在光标下

P  粘贴在光标之上

12.r  是替换 

13.R 是开启替换模式,一直换

14.h  当前页面最开始

15.J 合并两行

16./ 是查找

17.ctrl +r 是取消撤销  

18.i 是重复次数         100 i ky35    就是100遍ky35

19.di 符号  删除符号之间的东西

②输入模式:

从命令切换到输入模式:i    0       从输入退回命令   esc

 

i在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动
I行首插入命令
o在光标所在行的下面插入新的一行。光标停在空行首,等待输入文本
O在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本
a在当前光标所在位置之后插入随后输入的文本
A行尾插入命令

③末行模式:

从命令模式到末行模式:冒号:  退回esc 或者回车

r!  是读入命令

:set  nu   是显示行号操作

:set cul  增加下划线      :set nocul    是取消下划线

:set  ai   是回车该行

v是一个字符一个字符的选

V是一行一行的选择

ctrl v 是一块一块的选

三、查找与替换

先查找文件中的内容,然后再替换它

范围

.         

当前行

1,10

1-10 行

$

最后一行

%

全文

$-1

倒数第二行

范围 :不写范围,就默认为当前光标行

%代表全文

#数字 就是第几行

2,5就是2-5行

$就是最后一行

$-1就是倒数第二行

修饰符

g是全局修改

c是全局修改,会询问

什么都不加就是每行第一个

 s /旧内容/新内容/修饰符   

举例:给所有行开头增加#

% s/^/#/
#全文开头加#号% s/^#/ /
#去全文开头#号

注意:配置文件只有开头的#才是注释

举例:给所有行开头删除#

:% s/^#//

 

 

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

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

相关文章

JVM知识总结,一定要记住它。

1、知识点汇总 JVM是Java运行基础,面试时一定会遇到JVM的有关问题,内容相对集中,但对只是深度要求较高 其中内存模型,类加载机制,GC是重点方面.性能调优部分更偏向应用,重点突出实践能力.编译器优化 和执行模式部分偏向于理论基础,重点掌握知识点. 需了解 内存模型各部分作用…

用最通俗的语言讲解 TCP “三次握手,四次挥手”

目录 一. 前言 二. TCP 报文的头部结构 三. 三次握手 3.1. 三次握手过程 3.2. 为什么要三次握手 四. 四次挥手 4.1. 四次挥手过程 4.2. 为什么要四次挥手 五. 大白话说 5.1. 大白话说三次握手 5.2. 大白话说四次挥手 六. 总结 一. 前言 TCP 是一种面向连接的、可靠…

AI代码翻译神器,用AI翻译代码,轻松学习不同编程语言,已开源!

体验地址,github地址和部署地址在文章底部 AI代码翻译器的优势 近年来,随着技术的快速进步,人工智能技术展现出了在各个领域发挥作用的巨大潜力。AI代码翻译器作为一项创新技术,为开发者带来了全新的可能性。这项技术运用人工智…

Flink系列之:背压下的检查点

Flink系列之:背压下的检查点 一、Checkpointing under backpressure二、缓冲区 Debloating三、非对齐 Checkpoints四、对齐 Checkpoint 的超时五、限制六、故障排除 一、Checkpointing under backpressure 通常情况下,对齐 Checkpoint 的时长主要受 Che…

【MATLAB】数据拟合第13期-基于最小二乘支持向量机的拟合

有意向获取代码,请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 基于最小二乘支持向量机的拟合算法是一种数学优化技术,它通过最小化误差的平方和寻找数据的最佳函数匹配。这种算法在曲线拟合中应用广泛,包括线性拟合和非线性拟合…

[网络安全]密码字典快速生成——在线网站

目录 1.密码字典在线生成器one点击链接 ​编辑2.密码字典在线生成器two点击链接 3.密码字典在线生成器three点击链接 个人推荐生成器1,因为复制黏贴好用。 1.密码字典在线生成器one点击链接 2.密码字典在线生成器two点击链接 3.密码字典在线生成器three点击链接 看…

智能优化算法应用:基于饥饿游戏算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于饥饿游戏算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于饥饿游戏算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.饥饿游戏算法4.实验参数设定5.算法结果6.…

Ubuntu中基础命令使用

前言 以下指令测试来自于Ubuntu18.04 如果有说的不对的,欢迎指正与补充 以下指令为我学习嵌入式开发中使用过最多的指令 目录 前言 1 ls 首先我们进入到Linux操作系统中 2 touch创建一个文件 3 pwd查看当前路径 4 创建目录 5 删除文件 6 cd 目录跳转 0…

scrapy_redis概念作用和流程

scrapy_redis概念作用和流程 学习目标 了解 分布式的概念及特点了解 scarpy_redis的概念了解 scrapy_redis的作用了解 scrapy_redis的工作流程 在前面scrapy框架中我们已经能够使用框架实现爬虫爬取网站数据,如果当前网站的数据比较庞大, 我们就需要使用分布式来更快的爬取数…

JavaScript基础(数组+正则表达+字符串)

目录 1.数组 1.1创建数组 1.2字面量创建数组 1.3length函数 1.4遍历数组1 1.5遍历数组2语法糖 1.6增删改查 1push 2pop 3unshift("x",x) 4shift() 5数组的截取 slice() splice() 6concat 7reverse 2.内置对象 2.1data 2.2Math对象 2.3字符串 1c…

二维相位展开问题(讨论针对不连续相位展开算法鲁棒性)

作者:Munther Gdeisat博士和Francis Lilley博士 先决条件:为了理解本教程,在阅读本文档之前,您必须已经学习并完成“一维相位展开问题”教程。 有许多应用程序可以生成包裹的相位图像。例如合成孔径雷达(SAR&#xf…

FreeRTOS之列表及列表项实验(基于stm32f103c8t6)

B站正点原子视频链接: 第23讲 列表项的插入和删除实验_哔哩哔哩_bilibili #include "sys.h" #include "delay.h" #include "usart.h" #include "led.h" #include "FreeRTOS.h" #include "task.h" #in…

Android开发——activity类中的回调方法中的7个生存期

1、onCreate() 这个方法在每个活动中都能进行重写,他会活动在第一次被创建的时候调用。在这个方法中完成活动的初始化操作,如:加载布局、绑定事件等 2、onStart() 这个方法在活动由不可见变为可见的时候调用 3、onResume() 这个方法在活动中准…

大创项目推荐 深度学习 机器视觉 人脸识别系统 - opencv python

文章目录 0 前言1 机器学习-人脸识别过程人脸检测人脸对其人脸特征向量化人脸识别 2 深度学习-人脸识别过程人脸检测人脸识别Metric Larning 3 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习 机器视觉 人脸识别系统 该项目…

Mybatis练习

文章目录 配置文件实现CRUD环境准备查询所有数据编写接口方法编写SQL语句编写测试方法起别名解决上述问题使用resultMap解决上述问题小结 查询详情编写接口方法编写SQL语句编写测试方法参数占位符parameterType使用SQL语句中特殊字段处理 多条件查询编写接口方法编写SQL语句编写…

【EI会议征稿】2024年生成式人工智能与信息安全国际学术会议(GAIIS 2024)

2024年生成式人工智能与信息安全国际学术会议(GAIIS 2024) 2024 International Conference on Generative Artificial Intelligence and Information Security 2024年生成式人工智能与信息安全国际学术会议(GAIIS 2024)将于 202…

技术人的年终总结报告,请笑纳

背景 年底了,部门间,小组间不可避免的需要写年终总结报告。我相信很多朋友这件事肯定比较反感。认为这些东西都是表面形式,没有任何意义;亦或对于专心搞开发的人,对于这种报告并不擅长,不知道如何下手&…

Jackson 注解及配置大全

Jackson JSON 框架中包含了大量的注解来让我们可以干预 Jackson 的 JSON 处理过程, 例如我们可以通过注解指定 java pojo 的某些属性在生成 json 时被忽略。。本文主要介绍如何使用 Jackson 提供的注解。 Jackson注解主要分成三类,一是只在序列化时生效的…

Guava自加载缓存LoadingCache使用指南

第1章:引言 大家好,我是小黑,今天我们来聊聊缓存。在Java世界里,高效的缓存机制对于提升应用性能、降低数据库负担至关重要。想象一下,如果每次数据请求都要跑到数据库里取,那服务器岂不是要累趴了&#x…

js禁止打开控制台,如何强行打开控制台?

当我在查看某个网站的源码时,按F12会跳转到百度页面,或者先打开F12再输入网站也会进入到百度首页。 首先我们要关闭控制台进入到这个网站的首页,然后右键查 看网站的源码。 1.找到这个js文件,点进去。 2.点击这个js文件之后&a…