2021-05-12 14:32:11
Linux中壓縮與備份命令總結
一、Linux壓縮與解壓縮
1、compress [-rcv] 檔案或目錄 <==壓縮
uncompress 檔案.Z <==解壓縮
-r:可以連同目錄下的檔案也同時進行壓縮
-c:將壓縮資料輸出成standard output(輸出到螢幕)
-v:可以顯示出壓縮後的檔案資訊以及壓縮過程中的一些檔名變化
(這個命令是非常老舊的一款)
2、gzip [-cdtv#] 檔名
-c:將壓縮的資料輸出到螢幕上,可通過資料流重定向來處理
-d:解壓縮的引數
-t:可以用來檢驗一個壓縮檔案的一致性,看看檔案有錯誤
-v:可以顯示壓縮比等資訊
-#:壓縮等級,-1最快,但壓縮比最差,-9最慢,但壓縮比最好,最好是預設的-6
注:預設的情況下,原檔案會被覆蓋,要想保留原始檔可以使用-c與>的組合(例如gzip -c man.config > man.config.gz 此時原始檔會被保留)
zcat 檔名.gz 讀取.gz壓縮包(前提示原本的檔案為文字檔案)
3、bzip2 [-cdkzv#] 檔名
-c:將壓縮過程中產生的資料輸出到螢幕上
-d:解壓縮的引數
-k:保留原始檔
-z:壓縮的引數
-v:顯示壓縮比等資訊
-#:同gzip
bzcat 檔名.bz2 讀取.bz2壓縮包
解壓縮可以使用bunzip2來代替bzip2 -d
4、打包命令tar (可以將多個目錄或者檔案打包成一個大檔案,同時還可以通過gzip/bzip2的支援,將該檔案進行壓縮)
tar [-j|-z] [cv] [-f 新建的檔名] filename... <==打包與壓縮
tar [-j|-z] [tv] [-f 新建的檔名] <==檢視檔名
tar [-j|-z] [xv] [-f 新建的檔名] [-C 目錄] <==解壓縮
-c:新建打包檔案,可搭配-v來檢視過程中被打包的檔名
-t:檢視打包檔案的內容有哪些檔名,重點在檢視檔名
-x:解壓縮或解打包的功能,可以搭配-C在特定的目錄解開(-c,-t,-x不能同時出現在同一命令列)
-j:通過bzip2的支援進行壓縮/解壓縮,此時檔名最好為*.tar.bz2
-z:通過gzip的支援進行壓縮/解壓縮,此時的檔名最好為*.tar.gz
-v:在壓縮/解壓縮的過程中,將正在處理的檔名顯示出來
-f filename:-f後面接被處理的檔名
-C目錄:這個引數用在解壓縮的時候,若要在特定目錄進行解壓縮
-p:保留備份資料的原本屬性與許可權
-P:保留絕對路徑,即允許備份資料中含有根目錄
--exclude=file:在壓縮的過程中不要將file打包
--newer-mtime='date':僅更新比date這個時刻還要新的檔案
二、備份命令
1、dump備份整個檔案系統和單一目錄(限制在於對單一目錄的備份支援比較不足)
dump [-Suvj] [-level] [-f備份檔案] 待備份的資料
-S:僅列出後面的待備份資料需要多少磁碟空間才能夠備份完畢
-u:將這次dump的時間記錄到/etc/dumpdates檔案中
-v:將dump的檔案過程顯示出來
-j:加入bzip2的支援,將資料進行壓縮,預設的壓縮等級是2
-level:壓縮等級,同前
-f:後面接產生的檔案
-W:l列出在/etc/fstab裡面的具有dump設定的分割區是否有備過
如果待備份的資料只是,目錄,並非單一檔案系統則有限制:
(1)所有的備份資料都必須要在該目錄下面
(2)且僅能使用leve 0,即支援完整備份而已
(3)不支援-u引數,即無法建立/etc/dumpdates這個level備份的時間記錄檔案
2、dump的恢復使用restore命令
restore -t [-f dumpfile] [-h] <==用來檢視dump檔案
restore -C [-f dumpfile] [-D 掛載點] <==比較dump與實際檔案
restore -i [-f dumpfile] <==進入互動模式
restore -r [-f dumpfile] <==還原整個檔案系統
-t:此模式用在檢視dump起來的備份檔案中含有什麼重要的資料
-C:此模式可以將dump內的資料拿出來跟實際的檔案系統做比較
-i:進入互動模式,可以僅還原部分檔案,用在dump目錄時的還原
-r:將整個檔案系統還原的一種模式,用在還原對檔案系統的備份
-h:檢視完整備份資料中的inode與檔案系統label等資訊
-f:後面就接你要處理的那個dump檔案
-D:與-C進行搭配,可以查出後面接的掛載點與dump內有不同的檔案
3、有光碟寫入工具
步驟一:新建映象檔案 mkisofs [-o 映象檔案] [-rv] [-m file] 待備份檔案..[-V vol] -graft-point isodir=systemdir...
-o:後面接你想要產生的那個映象檔名
-r:通過Rock Ridge產生支援UNIX/LINUX的檔案資料
-v:顯示構建ISO檔案的過程
-m file:-m為排除檔案
-V vol:新建Volume
-graft-point:graft有轉嫁或移植的意思
步驟二:將該映象檔案燒錄至光碟或者DVD當中
cdrecord -scanbus dev=ATA <==查詢燒錄機的位置
cdrecord -v dev=ATA:x,y,z blank=[fast|all] <==抹除重複讀寫片
cdrecord -v dev=ATA:x,y,z -format <==格式化DVD+RW
cdrecord -v dev=ATA:x,y,z [可用引數功能] file.iso
-scanbus:用在掃描磁碟匯流排並找出可用的燒錄機,後續的裝置為ATA介面
-v:在cdrecord執行的過程,顯示過程而已
dev=ATA:x,y,z:後續的x,y,z為你系統上燒錄機所在的位置,非常重要
blank=[fast|all]:blank為抹除可重複寫入的CD/DVD-RW,使用fast較快,all較完整
-format:僅針對DVD+RW這種格式的DVD
[可用引數功能]主要是寫入CD/DVD時可使用的引數:
-data:指定後面的檔案以資料格式寫入,不是以CD音軌方式寫入
speed=X:指定燒錄速度
-eject:指定燒錄完畢後自動退出光碟
fs=Ym:指定多少緩衝記憶體,可用在將映象檔案先暫存區,預設為4M,一般建議可增加到8M
針對DVD的引數功能:
driveropts=burnfree:開啟Buffer Underrun Free模式的寫入功能
-sao :支援DVD-RW的格式
4、dd可備份完整的分割區或磁碟,因為dd可讀取磁碟的磁區表面資料
dd if="input file" of="output file" bs="block size" count="number"
if:就是input file
of:就是output file
bs:規劃的一個block的大小,若為指定則預設是512bytes
count:多少個bs的意思
5、cpio可以備註任何東西,cpio得要配合類似find等可以找到檔名的命令來告知cpiof該備份的資料在哪裡
cpio -ovcB > [file|device] <==備份
cpio -ivcdu < [file|device] <==還原
cpio -ivct <[file|device] <==檢視
備份會使用到引數:
-o:將資料copy輸出到檔案或裝置上
-B:讓預設的Bloks可以增加至5120bytes,預設是512beytes
還原會使用的引數:
-i:將資料自檔案或裝置複製到系當中
-d:自動新建目錄
-u:自動將較新的檔案覆蓋較舊的檔案
-t:需要配合-i引數,可以用在檢視以cpio新建的檔案或裝置的內容
一些共用的引數:
-v:讓儲存的過程中檔名可以顯示在螢幕上
-c:一種較新的portable format方式儲存
本文永久更新連結地址:http://www.linuxidc.com/Linux/2016-10/135817.htm
相關文章