目前Linux下常見的壓縮文件擴展名:
*.Z compress程序壓縮的文件(最早期使用),壓縮後取代源文件;
*.zip 一個誇平臺的文件打包程序,適用於Linux、windows和Mac OS系統;
*.bz2 bzip2程序壓縮的文件;
*.gz gzip程序壓縮的文件;
*.tar tar程序打包的文件,並沒有壓縮;
*.tar.gz tar程序打包的文件,並經過gzip程序的壓縮;
*.tar.bz2 tar程序打包的文件,並經過bzip2程序壓縮。
A)*.zip格式是大家最常見的一種,它具有誇操作系統平臺性,可以同時在windows、Linux和Mac Os上使用。
大家可以用zip格式壓縮那些需要共享給windows用戶的文件。壓縮與解壓.ZIP格式的文件:
[[email protected] tmp]$ zip -r test.zip tmp
adding: test/ (stored 0%)
adding: test/data-file (deflated 24%)
adding: test/r (deflated 51%)
下面是如果解壓一個zip文檔:
[[email protected] tmp]$ rm -rf test #爲測試解壓,先刪除當前目錄下的tmp文件
[[email protected] tmp]$ unzip test.zip
Archive: test.zip
creating: test/
inflating: test/data-file
inflating: test/r
B) 壓縮與解壓*.tar*、.tar.gz、*.tar.bz2 格式的文件及對比:
Tar是在Linux中使用得非常廣泛的文檔打包格式。它的好處就是它只消耗非常少的CPU以及時間去打包文件,他僅僅只是一個打包工具,並不負責壓縮,壓縮是由gzip與bzip2來實現的。因此把*.tar*、.tar.gz、*.tar.bz2 放到一起來舉例:
比如我們要把目錄/var/tmp下的test目錄打包壓縮到當前目錄
[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文件後解壓打其他目錄,因爲如果不定義解壓後目錄路徑和名字則默認解壓到當前目錄並以把壓縮包名稱作爲文件夾名字。如果要解壓到其他目錄(如:/var/tmp/find)則如下:
[Lee@leedd tmp]$ tar -jxvf test.tar.bz2 -C /var/tmp/find