命令 常見字尾 程式所在目錄
compress / uncompress .z .tar.z /usr/bin
bzip2 / bunzip2 .bz .bz2 .tbz .tbz2 /bin
gzip / gunzip .gz .tar.gz .tgz /bin
zip / unzip .zip /usr/bin
tarcompress / uncompress
最初最簡單的壓縮指令,壓縮後檔案字尾名為 .z
常見與早期類unix系統中,目前使用較少。compress -d 等同與uncompress(在許多版本的linux中,uncompress其實呼叫的是compress -d,而自己並不是乙個真的程式)。
所有引數:
-d 解壓
-c 輸出壓縮或解壓的結果,並不刪除原始檔案。
-f 強迫寫入檔案,若目的檔已經存在,則會被覆蓋 (force)
-v 顯示進度
-b 最大位元數(數字越大,壓縮率越高,範圍是 9-16 ,預設值是 16)
-v 顯示版本資訊
-r 遞迴壓縮資料夾及其子檔案
eg:compress -vf foobar.bat 強制壓縮並顯示進度,若目標文件存在則覆蓋(刪除原始檔案)
compress -dv foobar.bat.z 解壓並顯示進度
compress -dc foobar.bat.z 解壓並顯示解壓內容
compress -b 12 foobar.dat
compress -c foobar.bat > newname.bat.z 將壓縮後的資料輸出後再匯入指定名稱壓縮包
bzip2 / bunzip2
常用引數:
-c 輸出壓縮或解壓的結果
-z 壓縮
-d 解壓(等同與bunzip2命令)
-k 保留原檔案
-v 顯示進度
-f 強制執行,目標檔案存在則覆蓋
-1 .. -9 壓縮比的引數, -9 最佳, -1 最快
--fast alias for -1
--best alias for -9
eg:bzip2 foo.bat 壓縮foo.bat為foo.bat.bz2,並不保留原檔案
bzip2 -zfk foo.txt 強制壓縮,並保留原始檔
bzip2 -zf -9 -c foo.txt > bar.txt.bz2 強制壓縮,最大壓縮率,更改名稱並保留原始檔
bzcat foobar.bz2 檢視壓縮包內容,而不解壓
gzip / gunzip
gunzip甚至還可以去解其他壓縮程式如 compress 或 zip 壓縮出來的檔案,但並不贊同這樣做。
常用引數同上(沒有-k)
zip-- 打包並壓縮
其格式與windows中.zip格式完全一致,可通用,適合與windows通訊使用。
實用引數:
-d 刪除(drop)
-g 新增(group)
-u 更新
-r 遞迴壓縮
-t 測試有無損壞,不解壓
-q 安靜模式
* 包含系統檔案和隱藏檔案
eg:zip -r all.zip foo.zip bar.bat /home/user1 壓縮本目錄下foo.zip、bar.bat和/home/user1/資料夾為all.zip
zip new1.zip my1*.doc 壓縮my1*.doc為new1.zip,new1.zip 可簡寫成 new1,系統會自行預設 .zip副檔名。
zip -d new1.zip my18.doc 刪除new1.zip中my18.doc
zip -g new1.zip my32.doc 往 new1.zip中加入my32.doc
zip -u new1.zip my2*.doc 更新new1.zip中my2*.doc
zip -r new2.zip mydir 壓縮mydir目錄為new2.zip
zip -q -r all.zip * 壓縮本資料夾所有(包括系統檔案和隱藏資料夾)
unzip-- 解壓
zip只能打包壓縮,unzip才是解壓命令,實實在在的真正的程式。
常用引數(所指為更新內容):
-d 解壓到制定目錄
-v/l 檢視壓縮的檔案,不解壓
-f 更新已存在
-n 更新不存在
-u 全部
-o 直接覆蓋,不詢問
-fo 直接覆蓋已存在
-uo 覆蓋更新所有
-c 不計大小寫
-l 一律將檔名轉為小寫
-j 去除資料夾
eg:unzip foo.zip 解壓foo.zip到當前目錄
unzip -n text.zip -d /tmp 解壓test.zip到/tmp,僅更新不存在
unzip -j all.zip -d /tmp 加壓all.zip到/tmp,去除資料夾
unzip onepackage.zip a*.doc 解壓 onepackage.zip 內 a*.doc 的檔案
tar-- 歸檔打包
引數:-c 產生新檔案(create);
-x 解壓
-t 檢視
注意,引數 c/x/t 僅能存在乙個,不可同時存在
-z gzip屬性
-z compress屬性
-j bzip屬性
-f 使用檔名,注意,在 f 之後要立即接檔名,不要再加引數。(我們可以將-f看成乙個必加引數)
tar -zcvfp tfile sfile -- 錯誤
tar -zcvpf tfile sfile -- 正確
-u 更新某個檔案
-r 增加某個檔案
-p 使用原檔案的原來屬性(屬性不會依據使用者而變)
-p 可以使用絕對路徑來壓縮
-n 比後面接的日期(yyyy/mm/dd)還要新的才會被打包進新建的檔案中
--exclude file 在壓縮的過程中,不要將 file 打包
eg:tar -cf new1.tar my1*.doc 把所有 my1*.doc 的檔案打包為 new1.tar
tar -rf new1.tar my2*.doc 向new1.tar中增加 my2*.doc
tar -uf new1.tar my18.doc 修改......
tar -tf new1.tar 列出...
tar -xf new1.tar 解壓...
tar -zxvf onepackage.tar.gz 解壓(傳說中的神奇解壓命令)
tar -zcvf /tmp/etc.tar.gz /etc 打包後,以 gzip 壓縮
tar -zxvf /tmp/etc.tar.gz etc/passwd 指定目錄解壓
Linux下的檔案壓縮及歸檔
在linux系統下檔案可以被壓縮成tgz bz2或者zip格式,其中bz2的壓縮比率最大,同樣的檔案打包後其占有的記憶體會更小,zip格式的壓縮包是比較通用的,在各種平台上相容,但是其壓縮的比率也是最小的。對檔案的歸檔操作使用的是tar命令,tar命令後面可以跟隨的選項引數有以下幾種 c 建立歸檔檔...
linux檔案壓縮歸檔
gz gzip gunzip gzip d tar tar cf xf tar.gz tar zcf zxf zip zip r unzip bz2 bzip2 bunzip2 tar.bz2 tar cjf xjf 1 tar cf bak.tar log 將當前目錄下的所有log檔案打成乙個叫做...
Linux檔案歸檔和壓縮
歸檔檔案是乙個檔案和目錄的集合,而這個集合被貯存在乙個檔案中。歸檔檔案沒有經過壓縮 它占用的空間是其中所有檔案和目錄的總和。壓縮檔案也是乙個檔案和目錄的集合,且這個集合也被貯存在乙個檔案中,但是,它的貯存方式使其所占用的磁碟空間比其中所有檔案和目錄的總和要少。歸檔檔案不是壓縮檔案,但是壓縮檔案可以是...