1. 程式人生 > >Linux文件壓縮和解壓使用記錄

Linux文件壓縮和解壓使用記錄

詳細 zip命令 文件中 磁盤 信息 兩種方法 例如 進行 哪些

一:tar(可壓縮可解壓)

  • tar命令是Unix/Linux系統中備份文件的可靠方法,幾乎可以工作於任何環境中,它的使用權限是所有用戶。但是tar本身只是一個文件打包工具,只有和其他工具組合時才具有壓縮/解壓文件功能。
  • 使用tar命令壓縮文件的格式是:tar 參數[主選項+輔選項] ‘文件或目錄 ‘
  • 參數主選項
    • -c 創建新的檔案文件。如果用戶想備份一個目錄或是一些文件,就要選擇這個選項。
    • -r 把要存檔的文件追加到檔案文件的未尾。例如用戶已經做好備份文件,又發現還有一個目錄或是一些文件忘記備份了,這時可以使用該選項,將忘記的目錄或文件追加到備份文件中。
    • -t 列出檔案文件的內容,查看已經備份了哪些文件。
    • -u 更新文件。就是說,用新增的文件取代原備份文件,如果在備份文件中找不到要更新的文件,則把它追加到備份文件的最後。
    • -x 從檔案文件中釋放文件。
  • 參數副選項
    • -b 該選項是為磁帶機設定的,其後跟一數字,用來說明區塊的大小,系統預設值為20(20×512 bytes)。
    • -f 指定檔案文件名或設備名,這個選項通常是必選的,此參數必須放在最後,後面跟被壓縮或者解壓的文件名稱。
    • -k 保存已經存在的文件。例如把某個文件還原,在還原的過程中遇到相同的文件,不會進行覆蓋。
    • -m 在還原文件時,把所有文件的修改時間設定為現在。
    • -M 創建多卷的檔案文件,以便在幾個磁盤中存放。
    • -v 詳細報告tar處理的文件信息。如無此選項,tar不報告文件信息。
    • -w 每一步都要求確認。
    • -z 用gzip來壓縮/解壓縮文件,加上該選項後可以將檔案文件進行壓縮,但還原時也一定要使用該選項進行解壓縮。
  • 使用方法
    • tar命令可以將文件打包,一般打包文件時我們習慣將打包後的文件後綴設置為.tar
      • 打包:tar -cvf ‘生成文件名稱‘ ‘被打包的文件或者目錄名稱‘
        • eg: tar -cvf ‘test.bpm.tar‘ ‘test.bpm‘,在當前目錄下得到文件test.bpm.tar
        • eg: tar -cvf ‘/home/test.bpm.tar‘ ‘test.bpm‘,在/home目錄寫得到文件test.bpm.tar
      • 解包:tar -xvf ‘被解包的文件名稱‘
        • eg: tar -xvf ‘test.bpm.tar‘,在當前目錄下得到文件test.bpm
        • eg: tar -xvf ‘test.bpm.tar‘ -C ‘/home/‘,在/home目錄下得到文件test.bpm,解包到其他路徑下一定要使用 -C 參數
    • tar命令可以使用參數-z,以gzip方式將文件壓縮或者解壓。一般打包文件時我們習慣將打包後的文件後綴設置為.tar.gz
      • 壓縮文件:tar -czvf ‘文件或者目錄名稱‘
        • eg: tar -czvf ‘test.bpm.tar.gz‘ ‘test.bpm‘,在當前目錄得到文件test.bpm.tar.gz
        • eg: tar -czvf ‘/home/test.bpm.tar.gz‘ ‘test.bpm‘,在/home目錄得到文件test.bpm.tar.gz
      • 解壓文件:tar -xzvf ‘文件或者目錄名稱‘
        • eg: tar -xzvf ‘test.bpm.tar.gz‘,在當前目錄得到文件test.bpm
        • eg: tar -xzvf ‘test.bpm.tar.gz‘ -C ‘/home/‘ ,在home目錄得到文件test.bpm
  • 報錯提示
    • 打包或者壓縮時
      • 報錯:謹慎地拒絕創建空歸檔文件
      • 原因:沒有指定打包或者壓縮文件後的名稱
    • 解包或者解壓時
      • 報錯:歸檔中找不到
      • 原因:在指定解包或者解壓後文件存放位置時,沒有使用 -C 參數,不能夠成功指定文件存放位置

二:gzip和gunzip

  • gzip:將文件壓縮為後綴為.gz的文件
    • 使用gzip命令壓縮文件的格式是:gzip 參數[選項] ‘文件或目錄 ‘
    • 參數
      • -d 解開壓縮文件;
      • -c 將輸出寫到標準輸出上,並保留原有文件。
      • -r 遞歸處理,將指定目錄下的所有文件及子目錄一並處理
      • -f:強行壓縮文件。不理會文件名稱或硬連接是否存在以及該文件是否為符號連接;
      • -L:顯示版本與版權信息;
      • -n:壓縮文件時,不保存原來的文件名稱及時間戳記;
      • -N:壓縮文件時,保存原來的文件名稱及時間戳記;
      • -t:測試壓縮文件是否正確無誤;
      • -<壓縮效率>:壓縮效率是一個介於1~9的數值,預設值為“6”,指定愈大的數值,壓縮效率就會愈高;
        • --best:此參數的效果和指定“-9”參數相同;
        • --fast:此參數的效果和指定“-1”參數相同。
    • 栗子
      • 將test.bpm文件壓縮到當前目錄
        • 方法一:gzip -crf ‘test.bpm‘ > ‘test.bpm.gz‘ 。得到文件test.bpm.gz
        • 方法二:gzip -rf ‘test.bpm‘ 。得到文件test.bpm.gz
        • 註意,以上兩種方法的區別是方法一將文件壓縮之後,源文件不會消失,但是卻需要自己指定壓縮後的文件名稱;方法二將文件壓縮之後,源文件會消失不見,但是卻不需要自己指定壓縮後的文件名稱,會自動生成後綴為 .gz 的和源文件名稱相同的文件
      • 將test.bmp文件壓縮到指定目錄
        • gzip cf ‘test.bpm‘ > ‘/home/test.bpm.gz‘。得到文件test.bpm.gz
  • gunzip:將後綴為.gz文件解壓
    • 使用gzip命令壓縮文件的格式是:gzip 參數[選項] ‘文件或目錄 ‘
    • 參數同gzip相同
    • 栗子
      • 將test.bpm.gz文件解壓到當前目錄
        • 方法一:gunzip -crf ‘test.bpm.gz‘ > ‘test.bpm‘。得到文件test.bpm
        • 方法二:gunzip -rf ‘test.bpm.gz‘ 。得到文件test.bpm
        • 註意,以上兩種方法的區別是方法一將文件解壓之後,源文件不會消失,但是卻需要自己指定解壓後的文件名稱;方法二將文件解壓之後,源文件會消失不見,但是卻不需要自己指定解壓後的文件名稱,會自動解壓成和源文件名稱相同的文件
      • 將test.bpm.gz文件解壓到指定目錄
        • gunzip -crf ‘test.bpm.gz‘ > ‘/home/test.bpm‘。得到文件test.bpm
  • gzip 使用參數 -d 時,作用等同於gunzip。也就是當解壓.gz文件時,使用 gzip -d 對文件進行解壓也是一樣的。參數設置也是一樣的。

三:zip和unzip

  • 使用zip/unzip命令壓縮文件的格式是:zip 參數[選項] ‘文件或目錄 ‘
  • zip
    • 參數
      • -c:將解壓縮的結果
      • -l:顯示壓縮文件內所包含的文件
      • -n:解壓縮時不要覆蓋原有的文件
      • -v:執行是時顯示詳細的信息
      • -C:壓縮文件中的文件名稱區分大小寫
      • -t:檢查壓縮文件是否正確
      • -u:與-f參數類似,但是除了更新現有的文件外,也會將壓縮文件中的其它文件解壓縮到目錄中
    • 栗子
      • 將test.bpm文件壓縮到當前目錄:zip -rv ‘test.bpm.zip‘ ‘test.bpm‘
      • 將test.bpm文件壓縮到/home指定目錄:zip -rv ‘/home/test.bpm.zip‘ ‘test.bpm‘
  • unzip
    • 參數
      • -d<目錄>:指定文件解壓縮後所要存儲的目錄;
    • 栗子
      • 將test.bpm.gz文件解壓到當前目錄:unzip ‘test.bpm.zip‘
      • 將test.bpm文件壓縮到/home指定目錄:zip ‘/home/test.bpm.zip‘ -d ‘/home‘

Linux文件壓縮和解壓使用記錄