|
剛在qq群里面一位仁兄問到文件壓縮的命令,平時工作中大多用解壓縮命令,要是遇到壓縮就現(xiàn)查(這不是一個好習(xí)慣),于是整理下Linux下創(chuàng)建與解壓zip、tar、tar.gz和tar.bz2文件及他們之間壓縮率對比,在自己的腦袋內(nèi)存空間有限又不經(jīng)常使用的時候以便于備忘。現(xiàn)整理如下:
目前Linux下常見的壓縮文件擴(kuò)展名:
*.Z compress程序壓縮的文件(最早期使用),壓縮后取代源文件;
*.zip 一個夸平臺的文件打包程序,適用于Linux、windows和Mac OS系統(tǒng); *.bz2 bzip2程序壓縮的文件; *.gz gzip程序壓縮的文件; *.tar tar程序打包的文件,并沒有壓縮; *.tar.gz tar程序打包的文件,并經(jīng)過gzip程序的壓縮; *.tar.bz2 tar程序打包的文件,并經(jīng)過bzip2程序壓縮。Tips:所謂擴(kuò)展名只是大家約定的通用格式,是為了更方便的能一眼識別出是什么壓縮類型,當(dāng)然你可以打包或壓縮為任意格式的后綴名,只要你愿意。 A)*.zip格式是大家最常見的一種,它具有夸操作系統(tǒng)平臺性,可以同時在windows、Linux和Mac Os上使用。 大家可以用zip格式壓縮那些需要共享給windows用戶的文件。壓縮與解壓.ZIP格式的文件:
[Lee@leedd.Com tmp]$ zip -r test.zip tmp
adding: test/ (stored 0%) adding: test/data-file (deflated 24%) adding: test/r (deflated 51%) 下面是如果解壓一個zip文檔: [Lee@leedd.Com tmp]$ rm -rf test #為測試解壓,先刪除當(dāng)前目錄下的tmp文件
[Lee@leedd.Com tmp]$ unzip test.zip Archive: test.zip creating: test/ inflating: test/data-file inflating: test/rB) 壓縮與解壓*.tar*、.tar.gz、*.tar.bz2 格式的文件及對比: Tar是在Linux中使用得非常廣泛的文檔打包格式。它的好處就是它只消耗非常少的CPU以及時間去打包文件,他僅僅只是一個打包工具,并不負(fù)責(zé)壓縮,壓縮是由gzip與bzip2來實現(xiàn)的。因此把*.tar*、.tar.gz、*.tar.bz2 放到一起來舉例: 比如我們要把目錄/var/tmp下的test目錄打包壓縮到當(dāng)前目錄
[Lee@leedd tmp]$ tar -cvf test.tar test ### 僅打包,不壓縮
[Lee@leedd tmp]$ tar -zcvf test.tar.gz test ### 打包后以gzip壓縮 [Lee@leedd tmp]$ tar -jcvf test.tar.bz2 test ### 打包后以bzip2壓縮 [Lee@leedd tmp]$ ll test.tar* ### 對比壓縮后文件大小 -rw-r--r-- 1 Lee mock 10240 01-18 17:05 test.tar -rw-r--r-- 1 Lee mock 357 01-18 17:06 test.tar.bz2 -rw-r--r-- 1 Lee mock 327 01-18 17:05 test.tar.gz如何解壓縮包: [Lee@leedd tmp]$ tar -xvf test.tar
[Lee@leedd tmp]$ tar -xvf test.tar.gz [Lee@leedd tmp]$ tar -jxvf test.tar.bz2上面測試中,每次要刪除解壓后的test文件后解壓打其他目錄,因為如果不定義解壓后目錄路徑和名字則默認(rèn)解壓到當(dāng)前目錄并以把壓縮包名稱作為文件夾名字。如果要解壓到其他目錄(如:/var/tmp/find)則如下: [Lee@leedd tmp]$ tar -jxvf test.tar.bz2 -C /var/tmp/find 關(guān)于tar.gz和tar.bz2壓縮率的問題:
*.tar.gz 在壓縮時不會占用太多CPU的,而且可以得到一個非常理想的壓縮率。也會被簡寫成tgz。
*.tar.bz2網(wǎng)上好的資料說這種壓縮格式是壓縮率最好的、它比前面的方式要占用更多的CPU與時間。但是經(jīng)過上面的試驗顯示發(fā)現(xiàn)test.tar.gz的大小竟然比test.tar.bz2的更小(這是否意味者*.tar.gz擁有更小的壓縮率? 至少這次實驗是這樣)
如下附上這次測驗的文件包(點擊文件名下載):
Test文件夾中的2個文件: data-file 和 r test.tar test.tar.gz test.tar.bz2 本文來自:沉思小屋http://Leedd.Com 原文鏈接:http:///2010/01/linux-tar-tar-gz-tar-bz2/ |
|
|