文章目錄
- 簡介
- 歸檔檔案(打包)
-
- tar
- 壓縮 & 解壓縮
-
- gzip
- bzip2
- zip
簡介
Windows系統中,當檔案過多的時候為了統一管理,需要将多個檔案進行壓縮處理。
Unix/Linux系統中也提供了相似的方式,分為兩種操作模式:
- 歸檔檔案:将多個檔案整理成一個檔案,但不是壓縮,稱為打封包件
- 壓縮檔案:将歸檔為檔案進行壓縮處理
為什麼要區分這兩個概念呢?
這源于Linux中很多壓縮程式隻能針對一個檔案進行壓縮,這樣當你想要壓縮一大堆檔案時,你得先将這一大堆檔案先打成一個包(tar指令),然後再用壓縮程式進行壓縮!
歸檔檔案(打包)
tar
多個檔案的歸檔(打包)操作,将多個檔案整理成一個檔案
Linux 下最常用的打包程式就是 tar 了,使用tar程式打出來的包我們常稱為 tar包,tar封包件的指令通常都是以
.tar
結尾的。生成tar包後,就可以用其它的程式來進行壓縮
常用參數:
-
: 顯示操作資訊-v
-
: 不進行互動操作,直接執行-f
-
: 拆包操作,将一個打封包件拆分成多個原始檔案-x
-
: 打包操作,将多個原始檔案打包成一個檔案-c
-
: 檢視操作,檢視一個打封包件中包含哪些檔案-t
-
: 添加操作,添加檔案到已經打包的檔案中-r
-
: 支援gzip解壓檔案-z
-
: 支援bzip2解壓檔案-j
# 将多個檔案打包成一個檔案
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