Linux命令之cmp和rm

  • 2019 年 11 月 6 日
  • 筆記

Linux命令之cmp

Linux中的cmp命令用於比較兩個文件的不同,若發現兩個文件有不同支出,則會標出來第一處不同的位置和列數編號。

命令語法

diff [-wV][-n <文件名長度>][-p <文件名長度>]

參數說明

  • -c或–print-chars  
  • 除了標明差異處的十進制字碼之外,一併顯示該字符所對應字符。
  • -i<字符數目>
  • 指定一個數目。
  • -l或–verbose  
  • 標示出所有不一樣的地方。
  • -s或–quiet或–silent  
  • 不顯示錯誤信息。
  • -v或–version  
  • 顯示版本信息。
  • –help  
  • 在線幫助。

實際應用

1.查看文件不同

[root@yeyz]$diff -y 1.c 2.c  asd   | ase  sdf   | sdd  dfg     dfg

上面兩個文件的內容的不同之處已經通過diff命令給出來了,接下來使用cmp命令,看看有什麼不同之處:

[root@yeyz]$ cmp 1.c 2.c  1.c 2.c differ: byte 3, line 1  

從結果中可以看出,是在第一行的第三個下標位置處有所不同。

還可以觀察到底是什麼不同,使用-b參數,如下:

[root@yeyz]$ cmp -b 1.c 2.c  1.c 2.c differ: byte 3, line 1 is 144 d 145 e  

如果想看這兩個文件中的所有不同之處,可以使用-l參數和-b參數進行搭配:

[root@yeyz]$ cmp -lb 1.c 2.c   3 144 d    145 e   7 146 f    144 d  

Linux命令之rm

Linux的rm命令用於刪除一個文件或者目錄,它是一個比較危險的命令,具體有多危險,詳見:

https://www.sohu.com/a/254959076_681464

這個命令本身比較簡單,介紹如下:

語法

rm [options] name...

head命令參數

  • -i 刪除前逐一詢問確認。
  • -f 即使原檔案屬性設為唯讀,亦直接刪除,無需逐一確認。
  • -r 將目錄及以下之檔案亦逐一刪除。

實例:

刪除文件直接使用rm或者rm -f,刪除目錄必須使用rm -r,如下:

# rm  test.txt  rm:是否刪除 一般文件 "test.txt"? y  # rm  homework  rm: 無法刪除目錄"homework": 是一個目錄  # rm  -r  homework  rm:是否刪除 目錄 "homework"? y  

刪除當前目錄下的所有文件及目錄,命令行為:

rm -rm *  

高危命令,不建議使用,使用前最好用pwd命令看一看當前的目錄,避免誤刪重名的目錄。

需要注意的是:文件一旦通過rm命令刪除,則無法恢復,所以必須格外小心地使用該命令。