檔案的壓縮與解壓縮

2021-08-30 23:45:51 字數 2488 閱讀 9704

壓縮是為了減少檔案大小,節省儲存空間。

gzip 和 bzip2 只能處理單個檔案。因此需要 tar 的配合來完成對資料夾的壓縮和解壓縮。

tar 的作用是把一組檔案打包成乙個檔案。反過來的操作稱之為解包。tar 本身並不對檔案進行壓縮,通常與 gzip 和 bzip2 配合實現壓縮和解壓縮。

gzip 和 bzip2 通常在 unix 環境下比較常用。zip 和 rar 格式則通常在 windows 環境下常用。還有乙個 7zip 在 windows 上也開始流行起來。

bzip2 比 gzip 的壓縮比好一些,但花費的時間也相應長一些。

tar* tar cvf my.tar file1 dir2 => 把檔案file1和目錄 dir2下所有檔案打包成為乙個檔案 my.tar

* tar xvf my.tar => 解包 my.tar

* tar zxvf my.tar.gz => 解壓縮 gzip 格式檔案

* tar jxvf my.tar.bz2 => 解壓縮 bzip2 格式檔案

選項* -c 建立新的檔案檔案

* -r 把要歸檔的檔案追加到檔案檔案的末尾

* -t 列出檔案檔案中已經歸檔的檔案列表

* -u 更新檔案,用新檔案替代檔案中原始檔案。如果備份檔案中不存在該檔案,則把它追加到備份檔案的末尾

* -x 從檔案檔案中還原檔案

* -f 歸檔到普通檔案

* -k 儲存已存在的檔案。例如在還原的過程中,遇到相同的檔案,不會進行覆蓋

* -m 在還原檔案時,把所有檔案的修改時間設定為現在時間

* -v 報告tar的詳細處理過程

* -w 每一步都要進行確認

* -z 用gzip來壓縮/解壓縮檔案

* -j 通過bzip2壓縮/解壓縮檔案

* -z 通過compress程式過濾檔案。

gzip & gunzip

* gzip file.txt => 壓縮後的檔案為 file.txt.gz,原檔案則被刪除

* gunzip file.txt.gz => 解壓縮後的檔案為 file.txt,file.txt.gz 則被刪除。

常用選項

* -c 將輸出寫道標準輸出上,並保留原檔案

* -d 對壓縮檔案進行解壓縮

* -l 對每個壓縮檔案,顯示字段:壓縮檔案的大小、未壓縮檔案的大小、壓縮比、未壓縮檔案的名字

* -r 遞迴式查詢指定目錄,並壓縮或者解壓縮其中的所有檔案。

* -t 檢查壓縮檔案是否完整

* -v 對每個壓縮和解壓縮的檔案,顯示檔名和壓縮比

* -num 用指定的數字num設定壓縮比,-1或-fast表示最低壓縮比,-9或-best表示最高壓縮比。系統預設值是6

bzip2 & bunzip2

* bzip2 file.txt => 壓縮後的檔案為 file.txt.bz2,原檔案則被刪除

* bunzip2 file.txt.bz2 => 解壓縮後的檔案為 file.txt,file.txt.bz2 則被刪除。

常用選項

* -c 或 --stdout 將壓縮與解壓縮的結果送到標準輸出

* -d 或 --decompress 執行解壓縮

* -f 或 --force bzip2在壓縮或解壓縮時,若輸出檔案與現有檔案同名,預設不會覆蓋現有檔案,若要覆蓋,需要使用此引數

* -h 或 --help 顯示幫助

* -k 或 --keep bzip2在壓縮或解壓縮後,會刪除原始的檔案,若要保留原始檔案,需要使用此引數

* -s 或 --small 降低程式執行時記憶體的使用量

* -t 或 --test 測試.bz2壓縮檔案的完整性

* -v 或 --verbose 壓縮或解壓縮檔案時,顯示詳細的資訊

* -z 或 --compress 強制執行壓縮

* -v 或 --version 顯示版本資訊

* --repetitive-best 若檔案中有重複出現的內容,可利用此引數提高壓縮效果

* --repetitive-fast 若檔案中有重複出現的內容,可利用此引數加快執行速度

zip & unzip

zip與windows的winzip壓縮程式產生相同壓縮檔案.zip。

語法格式

zip 壓縮檔案名 被壓縮檔案列表

* zip dir_to_work.zip dir_to_work => 把目錄dir_to_work目錄打包並壓縮為檔案 dir_to_work.zip

* unzip dir_to_work.zip => 解壓縮檔案

常用選項

* -x 檔案列表 解壓縮檔案,但不包括「檔案列表」中指定的檔案

* -v 檢視壓縮檔案目錄,但不解壓

* -t 測試檔案有無損壞,但不解壓

* -d 目錄 把壓縮檔案解壓到指定目錄下

* -z 只顯示壓縮檔案的註解

* -n 不覆蓋已經存在的檔案

* -o 覆蓋已存在的檔案且不要求使用者確認

* -j 不重建文件的目錄結構,把所有檔案解壓到同一目錄下

檔案壓縮與解壓縮

類 zipfile 構造方法 zipfile file file 開啟供閱讀的zip檔案,由指定的file物件給出。zipfile file file,int mode 開啟新的zipfile以使用指定模式從指定file物件讀取 zipfile string name 開啟zip檔案進行閱讀 方法摘...

檔案壓縮與解壓縮

public class zipfileutil zipoutputstream zostream null fileinputstream fistream null fileoutputstream fostream null try zostream.closeentry issuccess ...

檔案的壓縮與解壓縮

1.建立乙個rabbit使用者,他的uid為2222,animal是他的基本組,他有三個附加組為cabbage,grass grass的組id為6666 和carrot。2.修改rabbit的密碼為chihuo。3.將rabbit使用者的資訊 root localhost grep rabbit e...