*.Z compress 程式壓縮的檔案;
*.bz2 bzip2 程式壓縮的檔案;
*.gz gzip 程式壓縮的檔案;
*.tar tar 程式打包的資料,並沒有壓縮過;
*.tar.gz tar 程式打包的檔案,其中並且經過 gzip 的壓縮。
*.zip zip 程式壓縮檔
*.rar rar 程式壓縮檔
Compress壓縮檔
compress 是一個相當古老的 unix 檔案壓縮指令,壓縮後的檔案會加上一個 .Z 延伸檔名以區別未壓縮的檔案,壓縮後的檔案可以以 uncompress 解壓。若要將數個檔案壓成一個壓縮檔,必須先將檔案 tar 起來再壓縮。由於 gzip 可以產生更理想的壓縮比例,一般人多已改用 gzip 為檔案壓縮公用程式。
使用方式:compress [-dfvcV] [-b maxbits] [file ...]
參數:
c 輸出結果至標準輸出裝置(一般指熒幕)
f 強迫寫入檔案,若目的檔已經存在,則會被覆蓋 (force)
v 將程式執行的訊息印在熒幕上 (verbose)
b 設定共同字串數的上限,以位元計算,可以設定的值為 9 至 16 bits 。由於值越大,能使用的共同字串就 越多,壓縮比例就越大,所以一般使用預設值 16 bits (bits)
d 將壓縮檔解壓縮
V 列出版本訊息
將 source.dat 壓縮成 source.dat.Z ,若 source.dat.Z 已經存在,內容則會被壓縮檔覆蓋。
compress -f source.dat
將 source.dat 壓縮成 source.dat.Z ,並列印出壓縮比例。
-v 與 -f 可以一起使用
compress -vf source.dat
將壓縮後的資料輸出後再匯入 target.dat.Z 可以改變壓縮檔名。
compress -c source.dat > target.dat.Z
-b 的值越大,壓縮比例就越大,範圍是 9-16 ,預設值是 16 。
compress -b 12 source.dat
Gzip壓縮檔和zcat
文法:gzip [選項] 壓縮(解壓縮)的檔案名稱
該命令的各選項含義如下:
-c 將輸出寫到標準輸出上,並保留原有檔案。
-d 將壓縮檔解壓。
-l 對每個壓縮檔,顯示下欄欄位:
壓縮檔的大小;未壓縮檔的大小;壓縮比;未壓縮檔的名字
-r 遞迴式地尋找指定目錄並壓縮其中的所有檔案或者是解壓縮。
-t 測試,檢查壓縮檔是否完整。
-v 對每一個壓縮和解壓的檔案,顯示檔案名稱和壓縮比。
-num 用指定的數字 num 調整壓縮的速度,-1 或 --fast 表示最快壓縮方法(低壓縮比),
-9 或--best表示最慢壓縮方法(高壓縮比)。系統預設值為 6。
gzip *
% 把目前的目錄下的每個檔案壓縮成 .gz 檔案。
gzip -dv *
% 把目前的目錄下每個壓縮的檔案解壓,並列出詳細的資訊。
gzip -l *
% 詳細顯樣本1中每個壓縮的檔案的資訊,並不解壓。
gzip usr.tar
% 壓縮 tar 備份檔案 usr.tar,此時壓縮檔的副檔名為.tar.gz。
Bzip2壓縮檔和bzcat
bzip2 [-cdfhkLstvVz][--repetitive-best][--repetitive-fast][- 壓縮等級][要壓縮的檔案]
-c或--stdout 將壓縮與解壓縮的結果送到標準輸出。
-d或--decompress 執行解壓縮。
-f或--force bzip2在壓縮或解壓縮時,若輸出檔案與現有檔案同名,預設不會覆蓋現有檔案。若要覆蓋,請使用此參數。
-h或--help 顯示協助。
-k或--keep bzip2在壓縮或解壓縮後,會刪除原始的檔案。若要保留原始檔案,請使用此參數。
-s或--small 降低程式執行時記憶體的使用量。
-t或--test 測試.bz2壓縮檔的完整性。
-v或--verbose 壓縮或解壓縮檔案時,顯示詳細的資訊。
-z或--compress 強制執行壓縮。
-L,--license,
-V或--version 顯示版本資訊。
--repetitive-best 若檔案中有重複出現的資料時,可利用此參數提高壓縮效果。
--repetitive-fast 若檔案中有重複出現的資料時,可利用此參數加快執行速度。
-壓縮等級 壓縮時的區塊大小。
bzip2 –z test1.txt
Tar壓縮檔
tar [-zxcvfpP] filename
tar -N 'yyyy/mm/dd' /path -zcvf target.tar.gz source
參數說明:
-z :是否同時具有 gzip 的屬性。
-x :解開一個壓縮檔案的參數指令。
-t :查看 tarfile 裡面的檔案。
-c :建立一個壓縮檔案的參數指令
-v :壓縮的過程中顯示檔案。
-f :使用檔名,請留意,在 f 之後要立即接檔名喔。不要再加參數。
例如使用『 tar -zcvfP tfile sfile』就是錯誤的寫法,要寫成
『 tar -zcvPf tfile sfile』才對喔。
-p :使用原檔案的原來屬性(屬性不會依據使用者而變)
-P :可以使用絕對路徑
-N :比後面接的日期(yyyy/mm/dd)還要新的才會被打包進建立的檔案中。
--exclude FILE:在壓縮的過程中,不要將 FILE 打包。
tar -cvf directory.tar directory
//只將目錄整合打包成一個檔案
tar -zcvf directory.tar.gz directory
除了將目錄打包外,同時以 gzip 壓縮
tar -zcvf filename.tar.gz /home/test/*
將 /home/test/ 這個目錄下的檔案全部打包並壓縮成為一個 filename.tar.gz 的檔案
tar -jcvf /tmp/etc.tar.bz2 /etc <==打包後,以 bzip2 壓縮
tar -xvf directory.tar
解 tar 的封包,請注意,由於沒有 gzip (.tar 而非 .tar.gz) 的作用,所以只要使用 –xvf 即可。不需要加上 z ,否則會顯示有問題。
tar -zxvf directory.tar.gz
這個就是有加上 gzip 的壓縮的結果。所以需要加上 –z 呦。
tar –ztvf directory.tar.gz
這個 t 可以用來查看 tar 裡面的檔案資訊呢。而不需要將他解開。
tar -zcvPf home.tar.gz /home
則建立起來的壓縮檔內檔案為絕對路徑
請注意,使用這個 P 的參數時,不要將 P 加在 f 後面,因為
f 之後要立即接檔名才行喔。
tar -N '2002/06/25' -zcvf home.tar.gz /home
上面是說 在 /home 這個目錄中,比 2002/06/25 日還要新的檔案才會被打包進入 home.tar.gz 這個檔案中。
tar -zcvf host.tar.gz / --exclude /mnt --exclude /proc
上面是說,將根目錄的所有資料都打包進 host.tar.gz 這個檔案中,但是 /mnt 及 /proc 則不打包。
tar -cvf - /home | tar -xvf -
上面的意思是『將 /home 打包之後,直接解壓縮在 /root 底下。』嘿嘿。不需要再建立一次中間檔案。不過,使用上面的文法最好使用『絕對路徑』,比較不會有問題。這個方式適合不想要建立中間檔案時。
Zip和unzip壓縮檔
zip -r myfile.zip ./* //將目前的目錄下的所有檔案和檔案夾全部壓縮成myfile.zip檔案,-r表示遞迴壓縮子目錄下所有檔案.
zip -d myfile.zip smart.txt //刪除壓縮檔中smart.txt檔案
zip -m myfile.zip ./rpm_info.txt //向壓縮檔中myfile.zip中添加rpm_info.txt檔案
unzip -o -d /home/sunny myfile.zip //把myfile.zip檔案解壓到 /home/sunny/
Rar壓縮檔
RAR通常情況比ZIP壓縮比高,但壓縮/解壓縮速度較慢。