Linux系統下文件壓縮與打包命令


Linux系統下文件壓縮與打包命令

常用的壓縮文件拓展名
* .Z
* .zip
* .gz
* .bz2
* .xz
* .tar
* .tar.gz
* .tar.bz2
* .tar.xz


壓縮命令

gzip,zcat/zmore/zless/zgrep

  • 描述:替換早期的compress命令提供更好壓縮比,應用最廣的壓縮命令,建立出的壓縮文件為*.gz
gzip [-cdtv#] 文件名
zcat 文件名.gz
  • 參數描述:
    • -c: 壓縮數據輸出到屏幕,可通過數據流重定向處理
    • -d: 解壓縮的參數
    • -t: 檢查壓縮文件的一致性,看文件是否有錯誤
    • -v: 顯示原文件/壓縮文件壓縮比
    • -#: 壓縮等級【1-9】,默認是6
      • 1:最快,壓縮比最差
      • ...
      • 9:最慢,壓縮比最好
  • zcat/zmore/zless可以對應於cat/more/less方式讀取純文本文件被壓縮后的壓縮文件

bzip2, bzcat/bzmore/bzless/bzgrep

  • 描述: 替換gzip,后綴是.bz2,用法幾乎與gzip一致。
bzip2 [-cdkzv#] 文件名
bzcat 文件名.gz
  • 參數描述:
    • -c: 壓縮數據輸出到屏幕,可通過數據流重定向處理
    • -d: 解壓縮的參數
    • -k: 保留原始文件而不會刪除原始文件
    • -z: 壓縮的參數(默認值,可以不加)
    • -v: 顯示原文件/壓縮文件壓縮比
    • -#: 壓縮等級【1-9】,默認是6
      • 1:最快,壓縮比最差
      • 9:最慢,壓縮比最好
具體范例
# 壓縮並將信息顯示
bzip2 -v services*
# 讀出上例文件內容
bzcat services.bz2
# 解壓縮
bzip2 -d services.bz2
# 將上例中解開的services采用最佳壓縮比壓縮,並保留原本文件
bzip2 -9 -c services > services.bz2

此處要注意,-c ... > ...的用法:將原本要輸出到屏幕的內容轉成文件->具體在bash中看

xz, xzcat/xzmore/xzless/xzgrep

  • 描述: 壓縮比更高的軟件,用法與上述兩個基本相同
  • 參數描述:
    • -c: 壓縮數據輸出到屏幕,可通過數據流重定向處理
    • -d: 解壓縮的參數
    • -t: 檢查壓縮文件的一致性,看文件是否有錯誤
    • -l: 列出壓縮文件的相關信息
    • -k: 保留原始文件而不會刪除原始文件
    • -#: 壓縮等級【1-9】,默認是6
      • 1:最快,壓縮比最差
      • 9:最慢,壓縮比最好

對比一下幾個命令的運行時間
time [gzip|bzip2|xz] -c wget-log > log.[gz|bz2|xz]

打包命令

tar

  • 描述: 將多個文件或者目錄包成一個大文件的命令
  • 常用參數的描述
    • -c [可搭配-v]建立打包文件
    • -t [可搭配-v] 查看內容
    • -x [可搭配-v] 解壓
    • -v 在處理的文件名顯示出來
    • -z 通過gzip的支持進行壓縮/解壓縮,最好文件后綴是.tar.gz
    • -j 通過bzip2的支持進行壓縮/解壓縮,最好文件名后綴是.tar.bz2
    • -J 通過xz ~~, 文件后綴.tar.xz
    • -f 與即刻要處理的文件名放在一起【單獨寫可能不會忘記】
    • -C 在特定目錄解壓縮
    • -p [可搭配-c]保留備份數據的原本屬性與權限,常用於備份
    • -P 保留絕對路徑,即允許備份數據中含有根目錄存在
    • --exclude=FILE 壓縮過程中,不將FILE打包
    • 要注意:-z,-j,-J不能同用!
  • 常用打包搭配
    • 打包與壓縮:tar [-z|-j|-J] [cv] [-f 待建立的新文件名] filename
    • 查看文件名:tar [-z|-j|-J] [tv] [-f 既有的tar文件名]
    • 解壓縮:tar [-z|-j|-J] [xv] [-f 既有的tar文件名] [-C目錄]

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM