天天看點

Linux 檔案的打包與壓縮簡介歸檔檔案(打包)壓縮 & 解壓縮

文章目錄

  • 簡介
  • 歸檔檔案(打包)
    • tar
  • 壓縮 & 解壓縮
    • gzip
    • bzip2
    • zip

簡介

Windows系統中,當檔案過多的時候為了統一管理,需要将多個檔案進行壓縮處理。

Unix/Linux系統中也提供了相似的方式,分為兩種操作模式:

  • 歸檔檔案:将多個檔案整理成一個檔案,但不是壓縮,稱為打封包件
  • 壓縮檔案:将歸檔為檔案進行壓縮處理

為什麼要區分這兩個概念呢?

這源于Linux中很多壓縮程式隻能針對一個檔案進行壓縮,這樣當你想要壓縮一大堆檔案時,你得先将這一大堆檔案先打成一個包(tar指令),然後再用壓縮程式進行壓縮!

歸檔檔案(打包)

tar

多個檔案的歸檔(打包)操作,将多個檔案整理成一個檔案

Linux 下最常用的打包程式就是 tar 了,使用tar程式打出來的包我們常稱為 tar包,tar封包件的指令通常都是以

.tar

結尾的。生成tar包後,就可以用其它的程式來進行壓縮

常用參數:

  • -v

    : 顯示操作資訊
  • -f

    : 不進行互動操作,直接執行
  • -x

    : 拆包操作,将一個打封包件拆分成多個原始檔案
  • -c

    : 打包操作,将多個原始檔案打包成一個檔案
  • -t

    : 檢視操作,檢視一個打封包件中包含哪些檔案
  • -r

    : 添加操作,添加檔案到已經打包的檔案中
  • -z

    : 支援gzip解壓檔案
  • -j

    : 支援bzip2解壓檔案
# 将多個檔案打包成一個檔案
tar -cvf cs.tar cs1.py cs2.py ..

# 拆分打包的檔案
tar -xvf cs.tar

# 解壓 .gz 檔案同時拆包
tar -zxvf cs.tar.gz

# 檢視包中檔案資訊
tar -tvf cs.tar

# 添加檔案到包中
tar -rvf cs.tar cs3.py
           

壓縮 & 解壓縮

gzip

gzip 是個使用廣泛的壓縮程式,檔案經它壓縮過後,其名稱後面會多出

.gz

的擴充名

# 壓縮檔案
gzip cs.tar

# 解壓檔案
gzip -d cs.tar.gz

# 列出壓縮檔案資訊
gzip -l cs.tar.gz
           

bzip2

bzip2 采用新的壓縮演算法,壓縮效果比傳統的LZ77/LZ78 壓縮演算法來得好。檔案經過它壓縮後名稱後邊會多出

.bz2

的擴充名

# 壓縮檔案
bzip2 cs.tar

# 解壓檔案
bzip2 -d cs.tar.bz2
           

zip

和 Windows 作業系統互動較多的時候使用的壓縮格式,壓縮後的檔案字尾名為

.zip

# 壓縮檔案
zip cs.zip cs.tar

# 解壓檔案
unzip cs.zip
           

繼續閱讀