开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第33天,点击查看活动详情
序
在学习了diff命令后,首先我们发现了,第一个小弟diffstat,主要功能就是让diff比较结果更直观的展示.
然后我们就发现了另外一个大哥patch.那它主要干啥呢,我们一起来学一下吧.
目录
patchmore
patch
-
含义
从我的使用情况来看,我对patch的理解是.它就是给你弥补过错的大哥.通俗点就是用于修复文件的补丁.
突然想起武器大师的经典台词 ---最强的武器就是补丁.patch命令提供给用户必用设置修补文件的方式,修改、更新原始文件.那为什么要和
diff一起使用呢.因为当我们比较两个文件有差异的时候,怎么让旧文件更新成新文件呢.先比较文件差异.并将差异制作成补丁文件,再由补丁文件更新到有差异的文件即可. -
语法
patch [参数] [原文件] [补丁文件] -
常用参数
参数 含义 -b、-backup备份每一个 原始文件,并在修补文件的时候,重命名或者复制原始文件,而不是删除原始文件-E、--remove-empty-files如果修复过的文件输出内容是空白,则删除该文件 -o<输出文件>、--output=<输出文件>配置输出文件的名字,修补过的文件以该名称命名 -
事例
-
生成补丁
- 准备测试数据
cat demo.txt 插入测试数据 测试 cat ts.txt 插入测试数据 我是不同之处 - 对比不同
diff demo.txt ts.txt 2c2 < 测试 --- > 我是不同之处 \ No newline at end of file - 生成补丁包
diff demo.txt ts.txt > demo.txt.patch
- 升级文件
patch demo.txt < demo.txt.patch cat demo.txt 插入测试数据 我是不同之处
-
more
-
含义
more、less和cat功能相似.都是用来显示文本内容,只是more命令以一页一页的形式显示文本内容.并可以通过按空格键(space)来显示下一页内容.按住b键可以显示上一页内容.并带有搜索字符串的功能 -
语法
more [参数] [文件名] -
参数
参数 含义 -num,-n定义一屏显示 n行+num,+n从第 n行开始显示内容+/content从文件中查找到 第一个出现设置的搜索content字符串的行,并从该行前两行开始显示内容-c从顶部 开始清屏,然后显示内容-l忽略 Ctrl + l字符-p通过清除窗口进行换页,而不是滚屏来实现. -s设置连续空行转换为一行显示 -u清除文件内容中的下划线 -d提示 Press space to continue,‘q’ to quit(按空格键翻页,按q键退出),当输入内容不是q错的时候,不做响铃提示 -
常用组合键
组合键盘 含义 Enter向下滑动 n行,需要自己定义,默认1行Ctrl + F向下滚动一页 空格键(space)向下滚动一页 Ctrl + B返回上一页 =输出当前的行号 :f输出文件名字和当前的行号 V调用 vi编辑器q退出 more命令 -
事例
-
-n设置一屏显示20行
more -20 test.sh执行结果
由于控制台设置的比较大.一屏显示的行数已经大于了20行.但是当你执行
翻页的时候.你会发现,他只是滑动了20行.所以我们知道.20设置的是每页显示的行数.当执行反页,也是根据这个处理,并非你当前的控制台的大小. -
+n显示文件第5行起的内容
more +5 test.sh执行结果
-
+/content显示内容从第一个出现
if开始显示more +/if test.sh执行结果
-
-s-
先正常显示文本
more demo.txt执行结果
-
合并多余的空行
more -s demo.txt执行结果
-
-
-c-
设置上面有内容,如下所示
-
执行
-cmore -c demo.txt执行结果
这样就更直观的知道了,从顶部开始具体表现了,有些时候,光看文档还是不行的,还是需要实践一下的.
-
-