溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux下常用壓縮 解壓命令和壓縮比率對比

發布時間:2020-08-09 18:54:03 來源:ITPUB博客 閱讀:208 作者:595117995 欄目:建站服務器

常用的格式有:
tar, tar.gz(tgz), tar.bz2,

不同方式,壓縮和解壓方式所耗CPU時間和壓縮比率也差異也比較大。

1. tar
只是打包動作,相當于歸檔處理,不做壓縮;解壓也一樣,只是把歸檔文件釋放出來。

(1)打包歸檔格式:

Linux下常用壓縮 解壓命令和壓縮比率對比
tar -cvf examples.tar files|dir
#說明:
-c, --create  create a new archive 創建一個歸檔文件
-v, --verbose verbosely list files processed 顯示創建歸檔文件的進程
-f, --file=ARCHIVE use archive file or device ARCHIVE  后面要立刻接被處理的檔案名,比如--file=examples.tar

#舉例:
tar -cvf file.tar file1       #file1文件
tar -cvf file.tar file1 file2 #file1,file2文件
tar -cvf file.tar dir         #dir目錄
Linux下常用壓縮 解壓命令和壓縮比率對比

(2)釋放解壓格式:

Linux下常用壓縮 解壓命令和壓縮比率對比
tar -xvf examples.tar (解壓至當前目錄下)
tar -xvf examples.tar  -C /path (/path 解壓至其它路徑)

#說明:
-x, --extract, extract files from an archive 從一個歸檔文件中提取文件

#舉例:
tar -xvf file.tar
tar -xvf file.tar -C /temp  #解壓到temp目錄下
Linux下常用壓縮 解壓命令和壓縮比率對比

 

2. tar.gz tgz (tar.gz和tgz只是兩種不同的書寫方式,后者是一種簡化書寫,等同處理)
這種格式是Linux下使用非常普遍的一種壓縮方式,
兼顧了壓縮時間(耗費CPU)和壓縮空間(壓縮比率)
其實這是對tar包進行gzip算法的壓縮

(1)打包壓縮格式:

Linux下常用壓縮 解壓命令和壓縮比率對比
tar -zcvf examples.tgz examples (examples當前執行路徑下的目錄)

說明:
-z, --gzip filter the archive through gzip 通過gzip壓縮的形式對文件進行歸檔

舉例:
tar -zcvf file.tgz dir #dir目錄
Linux下常用壓縮 解壓命令和壓縮比率對比

(2)釋放解壓格式:

Linux下常用壓縮 解壓命令和壓縮比率對比
tar -zxvf examples.tar (解壓至當前執行目錄下)
tar -zxvf examples.tar  -C /path (/path 解壓至其它路徑)

舉例:
tar -zcvf file.tgz
tar -zcvf file.tgz -C /temp
Linux下常用壓縮 解壓命令和壓縮比率對比

3 tar.bz

Linux下壓縮比率較tgz大,即壓縮后占用更小的空間,使得壓縮包看起來更小。
但同時在壓縮,解壓的過程卻是非常耗費CPU時間。

(1)打包壓縮格式:

Linux下常用壓縮 解壓命令和壓縮比率對比
tar -jcvf examples.tar.bz2 examples   (examples為當前執行路徑下的目錄)

說明:
-j, --bzip2 filter the archive through bzip2 通過bzip2壓縮的形式對文件進行歸檔

舉例:
tar -jcvf file.tar.bz2 dir #dir目錄
Linux下常用壓縮 解壓命令和壓縮比率對比

 

(2)釋放解壓:

Linux下常用壓縮 解壓命令和壓縮比率對比
tar -jxvf examples.tar.bz2 (解壓至當前執行目錄下)
tar -jxvf examples.tar.bz2  -C /path (/path 解壓至其它路徑)

舉例:
tar -jxvf file.tar.bz2
tar -jxvf file.tar.bz2 -C /temp
Linux下常用壓縮 解壓命令和壓縮比率對比

 

4 gz
壓縮:
gzip -d examples.gz examples

解壓:
gunzip examples.gz


5 zip
zip 格式是開放且免費的,所以廣泛使用在 Windows、Linux、MacOS 平臺,要說 zip 有什么缺點的話,就是它的壓縮率并不是很高,不如 rar及 tar.gz 等格式。
壓縮:
zip -r examples.zip examples (examples為目錄)

解壓:
zip examples.zip

6 .rar
壓縮:
rar -a examples.rar examples

解壓:
rar -x examples.rar

 

壓縮比率,占用時間對比

為了保證能夠讓壓縮比率較為明顯,需選取一個內容較多、占用空間較大的目錄作為本次實驗的測試。
找了一個大概有23G的目錄來測試,首先要明確由于執行環境的變化,誤差在所難免

首先明確一個概念:
壓縮比率=原內容大小/壓縮后大小,壓縮比率越大,則表明壓縮后占用空間的壓縮包越小

.tar

Linux下常用壓縮 解壓命令和壓縮比率對比
打包:
time tar -cvf test.tar /usr/test
時間:
real    3m20.709s
user    0m3.477s
sys     0m42.595s

大?。?打包前:23214680
打包后:22202984

耗時:3m20.709s
壓縮比率:22202984/23214680


解壓:
time tar -xvf test.tar

大?。?解壓前:22202984
解壓后:23211064

耗時:
real    2m47.548s
user    0m4.999s
sys     1m14.186s
Linux下常用壓縮 解壓命令和壓縮比率對比

 

.tgz

Linux下常用壓縮 解壓命令和壓縮比率對比
打包壓縮:
time tar -zcvf test.tgz /usr/test
時間:
real    16m30.767s
user    16m1.394s
sys     1m7.391s

大?。?打包前:23211064
打包后:18949032

耗時:
壓縮比率:

解壓:
tar -zxvf test.tar

大?。?解壓前:18949032
解壓后:23211064

耗時:
real    3m52.418s
user    2m46.325s
sys     1m21.442s
Linux下常用壓縮 解壓命令和壓縮比率對比

 

.tar.bz2

Linux下常用壓縮 解壓命令和壓縮比率對比
打包壓縮:
time tar -jcvf test.tar.bz2 /usr/test

時間:
real    80m39.422s
user    80m14.599s
sys     0m58.623s

大?。?打包前:23211064
打包后:18728904

耗時:80m39.422s
壓縮比率:


解壓:
time tar -jxvf test.tar.bz2

時間:
real    27m54.525s
user    27m44.108s
sys     1m43.645s

大?。?解壓前:18728904
解壓后:23211064
Linux下常用壓縮 解壓命令和壓縮比率對比

 

 Linux下常用壓縮 解壓命令和壓縮比率對比

 

 

綜上結果,初步結論:

綜合起來,在壓縮比率上: tar.bz2>tgz>tar
占用空間與壓縮比率成反比: tar.bz2<tgz<tar
耗費時間(打包,解壓)
打包:tar.bz2>tgz>tar
解壓: tar.bz2>tar>tgz
從效率角度來說,當然是耗費時間越短越好

因此,Linux下對于占用空間與耗費時間的折衷多選用tgz格式,不僅壓縮率較高,而且打包、解壓的時間都較為快速,是較為理想的選擇。

結論:

再一次印證了物理空間與時間的矛盾(想占用更小的空間,得到高壓縮比率,肯定要犧牲較長的時間;反之,如果時間較為寶貴,要求快速,那么所得的壓縮比率一定較小,當然會占用更大的空間了)。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女