一、壓縮和解壓縮工具
一般壓縮的對象的是:ascii檔案
壓縮比:壓縮前後的size比例
含義:把相同的内容,進行替換為簡單的字元//很多壓縮算法
目的:時間換空間{CPU時間}
compress/uncompress , .Z 字尾
gzip/gunzip , .gz
bzip2/bunzip2 , .bz2
xz/unxz , .xz
zip/unzip
tar,cpio
1.gzip/gunzip/zcat
gzip a//會删除原有檔案
gunzip a.gz //會删除壓縮檔案
zcat a.gz //自動臨時解壓,并檢視,檔案太大的話,建議不要使用zcat,因為要占用大量的記憶體
-d :解壓縮,相當于gunzip
-# :指定壓縮比,數字越大,壓縮比越大,預設是6(1-9)
gzip -9 aa
-c :輸出到螢幕,并保留源檔案
gzip -c aa > aa.gz
2.bzip2/bunzip2/bzcat
bzip2 a //會删除源檔案
-d a.bz2 //解壓縮
-# //指定壓縮比(1-9),預設是6
-k //keep 保留源檔案
bzip2 -k a //自動儲存源檔案
3.xz/unxz/xzcat{.xz} ,lzma/unlzma/lzcat{.lzma}
-d 解壓縮
-# 指定 壓縮級别預設6,1-9
-k 保留源檔案
//上述都支援壓縮檔案,不支援壓縮目錄
二、歸檔工具:tar,cpio
tar [OPTION] ... FILE ...
-c 建立歸檔
-f 指定檔案路徑和名字
cf a.tar a
-x 展開歸檔
tar xf a.tar -C /tmp/test //指定其他路徑
-t 檢視歸檔檔案的檔案清單
tar -tf a.tar
-r //apend 添加新的檔案到tar檔案
tar -r test/messages log.tar
cpio //3種模式
cpio-out:從标準輸入獲得檔案名清單 (一行一個)。預設把歸檔包寫到标準輸出,是以一般重定向到 一個檔案中
copy-in模式中, cpio 從歸檔包裡讀取檔案, 或者列出歸檔包裡的内容。它從标準輸入讀入歸檔包
copy-pass模式中, cpio把檔案從一棵目錄樹複制到另一棵, 它結合了 copy-in 和 copy-out 的操作, 但不使用歸檔包。
預設情況下,cpio從标準輸入讀取輸入資料,向标準輸出寫入輸出資料。
-o或--create:執行copy-out模式,建立備份檔
-c:使用舊ASCII備份格式;
-v:verbose
-B:将輸入/輸出的區塊大小改成5210Bytes;
-i或--extract:執行copy-in模式,還原備份檔;
-d或--make-directories:如有需要cpio會自行建立目錄;
-t或--list:将輸入的内容呈現出來;
将/etc下的所有普通檔案都備份到/opt/etc.cpio,使用以下指令:
find /etc –type f | cpio –ocvB >/opt/etc.cpio
cpio –icduv 《 /opt/etc.cpio //有時可能因為備份的檔案過多,一個螢幕無法顯示完畢,此時我們利用下面指令,讓錄音帶機的檔案資訊輸出到檔案。
将系統上所有資料備份到錄音帶機内,使用以下指令:
find / -print | cpio -covB > /dev/st0 這裡的/dev/st0是錄音帶的裝置名,代表SCSI錄音帶機。
檢視上例錄音帶機上備份的檔案,使用以下指令:
cpio -icdvt 《 /dev/st0 > /tmp/st_content
三、結合使用:
-z ;gzip2
zcf a.tar.gz file ...
xf a.tar.gz //展開的時候可以自動識别壓縮格式
-j :bzip2
-jcf
-jxf
-J :xz
-Jcf
-Jxf
四、zip/unzip
通用壓縮工具,但是性能一般
本身既能歸檔,也能壓縮
zip test.zip /test/
unzip test.zip
本文轉自MT_IT51CTO部落格,原文連結:http://blog.51cto.com/hmtk520/1950148,如需轉載請自行聯系原作者