写在前面: 博主是一名投身教培事业的标准八零后,叛逆并且追求自由,昵称取自于苏轼的《水调歌头》中的“高处不胜寒”,时刻提醒本身要耐得住寂寞,受的了孤独,在技术的道路上,不畏艰难,一往无前。 我已经将所有的linux运维体系发到了gitee上,https://gitee.com/gaosh08/LinuxFamily 欢迎star,投稿,交流。mysql
小手一抖,点赞走起linux
diff的用法,diff后面直接加选项,主要用来逐行对比文件
参数:git
举栗子:sql
[root@zmgaosh ~]# diff passwd passwd12a3> aaa[root@zmgaosh ~]#
[root@zmgaosh ~]# diff passwd passwd1 -y -W 10tc tc my my> aa[root@zmgaosh ~]#
注: 这里的
-y表示并排显示
-W 指定行宽编程
"<"表示后面文件比前面文件少了1行内容
">"表示后面文件比前面文件多了1行内容运维
[root@zmgaosh ~]# diff -u passwd passwd1--- passwd 2020-06-19 20:17:37.535217346 +0800 +++ passwd1 2020-06-19 20:17:57.605397654 +0800 @@ -1,2 +1,3 @@ tcpdump:x:72:72::/:/sbin/nologin mysql:x:27:27:MariaDB Server:/var/lib/mysql:/sbin/nologin +aaa
注:
—开头的是原始文件tcp
+++开头的是目标文件ide
以-开头的是只出如今原始文件中的linux运维
以+开头的是只出如今目标文件中的学习
以空格 开始的行是在目标文件和原始文件中都出现的行
comm , diff, patch
[root@zmgaosh ~]# cat a.txt aaa bbb[root@zmgaosh ~]# cat b.txtaaa bbb[root@zmgaosh ~]# comm a.txt b.txtaaa (输出形同的文本) bbb(输出不一样的文本) bbb[root@zmgaosh ~]#
其实bbb是相同的,只是一个有空格,一个没有空格,会被当成不一样来显示。
一般在更新几百万行的项目时,若是只有几行有变化,所有打包过来根本是不可能的,由于它太大了,并且所有拷过来也没有意义,最大的问题是人力难以对比。 这个时候咱们能够用到patch
patch主要用于修补文件
建立两个文件
[root@zmgaosh ~]# cat a.txt11111 11111 11111 11111[root@zmgaosh ~]# cat b.txt22222 11111 22222 11111
使用diff 建立补丁 b.txt.patch
[root@zmgaosh ~]# diff -uN a.txt b.txt > b.txt.patch[root@zmgaosh ~]# cat b.txt.patch--- a.txt 2020-06-19 20:54:54.115330192 +0800 +++ b.txt 2020-06-19 20:55:34.924697772 +0800 @@ -1,4 +1,5 @@ +22222 11111 +22222 11111 -11111 -11111 +
备注:
补丁头是分别由—/+++开头的两行,用来表示要打补丁的文件。—开头表示旧文件,+++开头表示新文件。
*diff命令会在补丁文件中记录这两个文件的首次建立时间,以下
— a.txt 2020-06-19 20:54:54.115330192 +0800
+++ b.txt 2020-06-19 20:55:34.924697772 +0800
接下来开始打补丁:
[root@zmgaosh ~]# patch -p0 < b.txt.patch patching file a.txt[root@zmgaosh ~]# cat a.txt 22222 11111 22222 11111
能够看到a.txt变得和b.txt同样了
咱们也能够去除补丁
[root@zmgaosh ~]# patch -RE -p0 < b.txt.patch patching file a.txt[root@zmgaosh ~]# cat a.txt11111 11111 11111 11111[root@zmgaosh ~]#
能够看到又恢复到了原版本的a.txt
学习Linux基础命令,最好的方法就是根据一个命令去联想相似的命令的使用方法,你会发现不少参数,虽然命令不一样,但表示的意思基本相同。
计算机行业,不管是编程仍是运维,都须要多练习,熟能生巧。