首頁 > 軟體

Linux中壓縮與備份命令總結

2020-06-16 17:31:02

一、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


IT145.com E-mail:sddin#qq.com