1.diff
diff命令用於比較文件的差異。diff 以逐行的方式,比較文本文件的異同處。如果指定要比較目錄,則diff會比較目錄中相同文件名的文件,但不會比較其中子目錄。
用法:diff [options] files|directorys
常用參數 | 解釋 |
---|---|
-b | 忽略空格 |
-B | 忽略空行 |
-i | 忽略大小寫 |
-c | 顯示文件所有內容並標示不同 |
-r | 對比目錄 |
-u | 合併輸出 |
-y或–side-by-side | 以並列的方式顯示文件的異同之處 |
輸出信息:
- 【a】 ##添加
- 【c】c ##更改
- 【d】 ##刪除
- 【<】 ##第一個文件中的內容
- 【>】 ##第二個文件中的內容
- 【- - -】 ##分割線
示例1:3,4c3
##表示改變第一個文件中的第3行和第四行才能匹配第二個文件的第三行
示例2:diff -u test1 test2
##以test2文件爲模板,合併輸出,輸出表示給test1文件添加test2file內容,就與test2文件內容一致;
diff -u test2 test1
##以test1文件爲模板,對test2合併輸出,刪除test2的test2file添加,內容就與test1文件一致;
2.patch
patch命令用於修補文件。常與diff命令生成補丁文件
dnf install patch -y
##安裝patch 軟件
用法:
patch 原文件 補丁文件
##根據補丁文件,修補原文件
patch -b 原文件 補丁文件
##修補文件時,備份原文件
3.cut
cut 命令從文件的每一行剪切字節、字符和字段並將這些字節、字符和字段寫至標準輸出。
如果不指定 File 參數,cut 命令將讀取標準輸入。
用法:cut 【options】 file
參數 | 作用 |
---|---|
-b | 以字節爲單位進行分割 |
-c | 以字符爲單位進行分割 |
-d | 自定義分隔符,默認爲製表符 |
-f | 與-d一起使用,指定顯示的列 |
4.sort
sort命令用於將文本文件內容以行爲單位加以排序。
用法:sort 【options】 file
常用參數 | 作用 |
---|---|
-n | 純數字排序 |
-r | 倒序 |
-u | 去掉重複 |
-o | 輸出到指定文件 |
-t | 指定分隔符 |
-k | 指定排序的列 |
5.uniq
uniq 命令用於檢查及刪除文本文件中重複出現的行列,一般與 sort 命令結合使用。
常用參數 | 作用 |
---|---|
-c或 | 在每列旁邊顯示該行重複出現的次數 |
-d | 僅顯示重複出現的行列 |
-u | 僅顯示出一次的行列 |
當重複的行並不相鄰時,uniq 命令是不起作用的,這時,我們就用sort
6.tr
tr 命令用於轉換或刪除文件中的字符。
tr 指令從標準輸入設備讀取數據,經過字符串轉譯後,將結果輸出到標準輸出設備。
用法: tr [options] set1 set2
①:tr 'a-z' 'A-Z
##把小寫字母轉換爲大寫字母
②:tr -d '0-9'
刪除數字
③:tr -s ' '
##把連續的空格縮減爲1個(-s 用來縮減指定的連續字符)
7. && 和 ||
&&左邊的命令(命令1)返回真(即返回0,成功被執行)後,&&右邊的命令(命令2)才能夠被執行;換句話說,“如果這個命令執行成功&&那麼執行這個命令”。
|| 則與&&相反。如果||左邊的命令(command1)未執行成功,那麼就執行||右邊的命令(command2);或者換句話說,“如果這個命令執行失敗了||那麼就執行這個命令。
8.test
Shell中的 test 命令用於檢查某個條件是否成立,它可以進行數值、字符和文件三個方面的測試。
用法:test $a = &b
或[ $a = $b]
##判斷a和b的值是否相等
數值測試:
參數 | 說明 |
---|---|
-eq | 等於則爲真 |
-ne | 不等於則爲真 |
-gt | 大於則爲真 |
-ge | 大於等於則爲真 |
-lt | 小於則爲真 |
-le | 小於等於則爲真 |
字符串測試:
參數 | 說明 |
---|---|
= | 等於則爲真 |
!= | 不相等則爲真 |
-z 字符串 | 字符串的長度爲零則爲真 |
-n 字符串 | 字符串的長度不爲零則爲真 |
文件測試:
參數 | 說明 |
---|---|
-e 文件名 | 如果文件存在則爲真 |
-r 文件名 | 如果文件存在且可讀則爲真 |
-w 文件名 | 如果文件存在且可寫則爲真 |
-x 文件名 | 如果文件存在且可執行則爲真 |
-s 文件名 | 如果文件存在且至少有一個字符則爲真 |
-d 文件名 | 如果文件存在且爲目錄則爲真 |
-f 文件名 | 如果文件存在且爲普通文件則爲真 |
-c 文件名 | 如果文件存在且爲字符型特殊文件則爲真 |
-b 文件名 | 如果文件存在且爲塊特殊文件則爲真 |
-L 文件名 | 如果文件爲軟連接則爲真 |
-S 文件名 | 如果文件爲套接字文件則爲真 |
File1 –ef File2 | 文件節點號一致(硬鏈)則爲真 |
File1 –nt File2 | 文件1比文件2新則爲真 |
File1 –ot File2 | 文件1比文件2舊則爲真 |
條件關係:
- -a ## 並且
- -o ##或者