寫在前面: 博主是一名投身教培事業的標準八零後,叛逆並且追求自由,暱稱取自於蘇軾的《水調歌頭》中的「高處不勝寒」,時刻提醒本身要耐得住寂寞,受的了孤獨,在技術的道路上,不畏艱難,一往無前。 我已經將所有的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基礎命令,最好的方法就是根據一個命令去聯想相似的命令的使用方法,你會發現不少參數,雖然命令不一樣,但表示的意思基本相同。
計算機行業,不管是編程仍是運維,都須要多練習,熟能生巧。