gzip [-cdtv#] 檔名
-c:將壓縮的資料輸出到螢幕上,可以通過資料流重導向來處理
-d:解壓縮
-t:檢驗壓縮檔案的一致性
-v:顯示壓縮比等資訊
-#:壓縮等級,-1最快但壓縮比最差,-9最慢但壓縮比最好,預設是6
壓縮的結果是.gz檔名,同時原始檔會被替代,zcat可以讀取gzip壓縮的檔案
bzip2 [-cdkzv#] 檔名
-c:同gzip
-d:解壓
-k:保留原始檔,不會刪除原始檔案
-z:壓縮
-v:同gzip
-#:同gzip
壓縮效果比gzip好,產生的檔案是.bz2,可用bzcat讀取
tar:用來打包多個檔案,僅打包不壓縮,得到的檔案稱為tarfile,如果有壓縮支援,則稱為tarball。常用:
壓縮:tar -jcv -f filename.tar.bz2 被壓縮的檔案
檢視:tar -jtv -f filename.tar.bz2
解壓:tar -jxv -f filename.tar.bz2 -c 解壓的目錄
其中-j是通過bzip2進行解壓/壓縮(-z:gzip),檔名的字尾需要自己新增。在解壓過程中檔名開頭的根目錄(/)會被拿掉,避免解壓時覆蓋根目錄中的內容。如果需要保留根目錄加上-p即可
檢視壓縮包中單一檔案的方法:
先通過【tar -jtv -f filename | grep "關鍵字"】查詢要開啟的檔名,然後【tar -jxv -f filename 要開啟的檔名】
打包某目錄但不包括某些檔案的方法:
tar -jcv -f filename.tar.bz2 --exclude=不包括的檔案 要打包並壓縮的目錄
打包比某個檔案新的檔案:
1. 找出該檔案的mtime(ls),例如2015/5/25
2. 打包:tar -jcv -f filename.tar.bz2 --newer-mtime="2015/05/25" 要打包壓縮的目錄
完整備份工具:dump
dump可以制定等級,第一次備份時等級為level 0,第二次備份時為level 1,level 1只備份從level 0後變化過的檔案,level 2一次類推。如果備份的資料是單一檔案系統,可以使用掛載點或者裝置名進行備份;如果待備份的資料只是目錄,並非單一檔案系統,則此時有如下限制:
1. 所有的備份資料都必須在該目錄下
2. 只能使用level 0
3. 不支援-u選項,無法在/var/lib/dumpdates下更新記錄檔案
dump [-suv] [-level] [-f 備份檔] 待備份資料
-s:列出待備份資料需要多少次盤空間進行備份
-u:將本次dump記錄到/var/lib/dumpdates中
-v:顯示dump過程
-j:加入bzip2支援,將資料進行壓縮,預設壓縮等級為2
-level:0~9個壓縮等級
dump -w:列出/etc/fstab中具有dump設定的partition是否備份過
restore:恢復dump備份的資料
restore -t [-f dumpfile] [-h]:觀察dump檔
restore -c [-f dumpfile] [-d 掛載點]:比較dump與實際檔案的差異
restore -i [-f dumpfile]:進入互動模式
互動模式中help可以檢視指令,add file是將檔案加入要解壓的列表中,delete file是將檔案從要解壓的列表中移出,extract是解壓。要被解壓的檔案前會出現*
restore -r [-f dumpfile]:還原檔案系統(若有多個level的dump備份,要從level 0開始依次還原)
dd:讀取磁碟裝置的內容,備份成乙個檔案
dd if="input file" of="output file" bs="block size" count="block number"
block size預設是512b(乙個sector的大小),結果中的3+1指三個完整的512b和乙個不完整的512b
cpio:可以備份任何東西,包括裝置、裝置、檔案,但需要結合find指令來尋找資料
cpio -ovcb > [file/device]:備份
-o:將資料copy輸出到檔案或裝置上
-b:讓預設的block大小可增加至5120b(預設是512b),好處是可以讓大檔案儲存速度加快(inode數少)
cpio -ivcdu < [file/device]:還原
cpio -ivct < [file/device]:檢視
-i:將資料從檔案或裝置copy出到系統中
-d:自動建立目錄(cpio備份的資料不一定在同一層目錄中,必須要然cpio在還原時建立新目錄)
-u:用較新的檔案覆蓋較舊的檔案
-t:需配合-i,可以檢視以cpio建立的檔案或裝置的一些選項和引數
-v:顯示儲存過程
例:找出/boot下的所有檔案並備份到tmp/boot.cpio
1. find /boot -print
2. find /boot | cpio -ocvb > /tmp/boot.cpio
dump,cpio,tar,dd比較
dump:
可將目錄和檔案系統備份至指定裝置或備份成乙個大檔案,傾向於考慮檔案系統而不是個別檔案
cpio:
cpio可以備份從標準輸入(stdin)來的檔案。dump與cpio的功能比較:
1. cpio需要使用touch或find才可執行備份
2. dump備份完後不改變檔案的atime和ctime
3. dump可以以互動的方式進行資料恢復,如retore的-i選項
如果需要定期備份整個作業系統,最好的選擇是dump,其次是cpio
tar:
如果只是為了進行資料備份,不在乎atime,不需要定期做變動備份,tar是最好的選擇
cpio有而大部分tar沒有的功能:
1. 可以備份來自stdin的檔案
2. 備份完成是重新設定檔案的atime(這會改變其ctime)
dd:
乙個很底層的指令,產生檔案系統的二進位制副本,不是基於檔案的,不管也無需知道備份資料的結構,所以不能複製一群檔案
檔案與檔案系統的壓縮與打包
一 單一檔案壓縮 1 gzip,zcat gzip cdtv file c 壓縮資料輸出 重定向 d 解壓縮引數 t 檢驗壓縮檔案的一致性,檢視有無錯誤 v 顯示原檔案 壓縮檔案壓縮比等資訊 壓縮等級 zcat 讀取純文字被壓縮後的檔案 2 bzip2,bzcat bzip2 cdkzv file ...
檔案與檔案系統的壓縮與打包
在linux系統中的常見的壓縮副檔名主要有 z compress程式壓縮的檔案 gz gzip程式壓縮的檔案 bz2 bzip2程式壓縮的檔案 tar tar程式打包的資料,並沒有壓縮過 tar.gz tar程式打包的檔案,其中並且經過gzip的壓縮 tar.bz2 tar程式打包的檔案,其中並且經...
檔案與檔案系統的壓縮與打包
常見的壓縮字尾 z compress 程式壓縮的檔案 zip zip 程式壓縮的檔案 gz gzip 程式壓縮的檔案 bz2 bzip2 程式壓縮的檔案 xz xz 程式壓縮的檔案 tar tar 程式打包的資料,並沒有壓縮過 tar.gz tar 程式打包的檔案,其中並且經過 gzip 的壓縮 t...