Linux文件壓縮、打包、分割、備份、刻錄

1.壓縮

常見格式 壓縮程序 解壓程序 備註
*.Z compress uncompress 被gzip取代
*.zip zip unzip
*.gz gzip gunzip 兼容*.Z和*.zip
*.bz2 bzip2 bunzip
*.xz xz unxz
*.tar tar tar
.tar. tar+壓縮

1.2 壓縮工具——zip、gzip、bzip2、xz

命令:gzip [ -acdfhklLnNrqtvV19 ] [–rsyncable] [-S suffix] [filenames…]
bzip2 [ -cdfkhqstvzVL123456789 ] [ filenames …]
xz [ -cedfkhqtvzV123456789 ] [ filenames …]

描述:壓縮或者解壓縮文件,查看壓縮文件信息。默認分別自動添加.gz,.bz2,.xz後綴。

常用選項 作用 備註
-c 將壓縮的數據輸出到屏幕上
-d 解壓縮
-f 目標存在時覆蓋,或原文件是符號鏈接
-k 不刪除原文件
-q 不顯示警告信息
-t 檢驗一個壓縮文件的一致
-v 壓縮時顯示相關信息
-# 爲壓縮等級,1-9,默認6
-l 查看壓縮文件的壓縮比列等信息 bzip2不支持
-r 遞歸壓縮或解壓目錄中的每個文件,但不是打包 僅gzip支持
-z 壓縮 gzip不支持
-s 使用小內存 僅bzip2支持
-S SUF 添加後綴SUF 僅gzip支持
-e 極限模式 僅xz支持

1.2 解壓縮工具——unzip、gunzip、bunzip2、unxz

命令:gunzip [ -acfhklLnNrtvV ] [-S suffix] [filenames…]
bunzip2 [ -fkvsVL ] [ filenames … ]
unxz [ -cdfkhqtvzV123456789 ] [ filenames … ]

描述:解壓縮文件,查看壓縮文件信息。

常用選項 作用 備註
-c 將壓縮的數據輸出到屏幕上
-d 解壓縮;默認選項
-f 目標存在時覆蓋,或原文件是符號鏈接
-k 不刪除原文件,默認刪除執行完後刪除源文件
-q 不顯示警告信息
-t 檢驗一個壓縮文件的一致性
-v 解壓縮時顯示相關信息
-# 爲表壓縮等級,1最快,壓縮比最差,預設是6
-l 查看壓縮文件的壓縮比列等信息 bunzip2不支持
-r 遞歸壓縮或解壓目錄中的每個文件,但不是打包 僅gunzip支持
-S SUF 添加後綴SUF 僅gunzip支持
-z 壓縮 gunzip不支持
-e 極限模式 僅unxz支持

1.3 自解壓工具——gzexe、bzexe

命令:gzexe [ -d ] [exe_file…]
bzexe [ -d ] [exe_file…]

描述:壓縮可執行文件爲運行時自解壓文件,解壓縮自解壓文件。輸出文件會在文件名後加上後綴~。

常用選項 作用
-d 解壓縮

1.4 .Z轉爲.gz格式——znew

命令:znew [ -ftv9PK] [ name.Z … ]

描述:將*.Z文件重新壓縮爲*.gz文件。

常用選項 作用
-f 強制執行轉換操作,即是目標“.gz”已經存在
-t 刪除原文件前測試新文件
-v 顯示文件名和每個文件的壓縮比
-9 食用油花的壓縮比,速度較慢
-P 使用管道完成轉換操作,以降低磁盤空間使用
-k 當“.Z”文件比“.gz”文件小時,保留“.Z”文件。

2 打包——tar

命令:tar [ -z|j|J ] [ -x|c|t ] [ -v ] -f [ dest ] srv
tar [ -Adr ] [ –delete ] -f [ dest ] srv

描述:將多個目錄或文件打包成一個大文件,同時還可以通過 gzip/bzip2/xz 的支持,將該文件同時進行壓縮! 如果只想解打包單獨的文件,只需目標文件爲該文件即可。

常用選項 作用
-A 新增文件到已存在的打包文件
-c 建立新的打包文件
-C dir 將打包文件拆放在dir目錄下
-d 找出歸檔文件和文件系統之間的差異
-x 解打包文件
-t 列出打包文件的內容
-z 通過gzip指令處理備份文件
-j 通過bzip2處理文件
-J 通過xz處理文件
-f 文件 指定要處理的文件,該選項只能在最末尾
-v 顯示指令執行過程
-r 添加文件到打包文件末尾
-p 保留原本權限與屬性,常用於備份(-c)重要的配置文件
-P 保留絕對路徑,即允許備份數據中含有根目錄
-delete 從打包文件刪除文件
-exclude=FILE 在打包過程中,不要將FILE 打包
-newer TIME 僅打包mtime 與 ctime 新於TIME的文件
-newer-mtime TIME 僅打包mtime新於TIME的文件

3 分割文件—split

命令:split [OPTION]… [FILE [PREFIX]]

描述:將一個文件分割爲多個文件,合併分割文件則是使用重定向。

常用選項 作用
-a N 後綴長度N,默認爲2
-b SIZE 每個分割文件的大小
-C SIZE 分割文件中單行最大字節
-d 使用數字而不是字母作爲切割後的小文件的後綴
-l 每個分割文件的行數
PREFIX 分割文件名的前綴爲PREFIX

4 文件系統備份與還原
4.1 xfs文件系統備份——xfsdump

命令:xfsdump [-L S_label] [-M M_label] [-l #] [-f 備 份名] 待備份文件
xfsdump -I

描述:xfsdump是通過文件系統的UUID來分辨各個備份檔的,因此不能備份兩個具有相同UUID的文件系統,僅支持文件系統的備份,不支持特定目錄的備份,不支持沒有掛載的文件系統備份,必須使用root權限,只能備份XFS,備份文件只能用xfsrestore解析。

常用選項 作用
-L 紀錄每次備份的 session 標頭,這裏填寫針對此文件系統的簡易說明
-M 紀錄儲存媒體的標頭,這裏可以填寫此媒體的簡易說明
-l # 指定備份等級,0~9, 0完整備份,1-9僅備份與前一級備份的差異
-f 備份名 產生的文件,/dev/st0裝置文件名或其他一般文件檔名等
-I 從 /var/lib/xfsdump/inventory 列出目前備份的信息狀態

4.2 xfs文件系統恢復——xfsrestore

命令:xfsrestore -I
xfsrestore [-f 備份文件 ] [-L S_label] 待復原目錄
xfsrestore [-f 備份文件 ] [-L S_label] [-s] 單一目錄或文件 待復原目錄
xfsrestore [-f 備份文件 ] -r 待復原目錄
xfsrestore [-f 備份文件 ] -i 待復原目錄  

描述:文件系統恢復,恢復順序與備份順序一樣。

常用選項 作用
-I 查詢備份數據,包括 Label 名稱與備份時間等
-f 後面接的就是備份文件
-L 就是 Session 的 Label name 喔!可用 -I 查詢到數據
-s 需要接某特定目錄,即僅復原某一個文件或目錄
-r 如果是用文件來儲存備份數據,那這個就不需要使用。如果是一個磁帶內有多個文件,需要這東西來達成累積復原
-i 進入互動模式,進階管理員使用的!一般我們不太需要操作它

4.3 ext文件系統備份——dump

命令:dump [- Suvj] [-level] [-f 備份文件] 待備份文件
dump -w 

描述:備份文件系統或目錄。當備份文件系統時可以使用dump的完整功能,和0-9級,可以使用掛載點或設備文件名;當備份目錄時,所有待備份數據都要在該目錄,只支持0級,不支持-u。

常用選項 作用
-S 僅顯示待備份數據需要多少磁盤空間
-u 將這次dump時間記錄到/etc/dumpdates
-v 顯示dump過程
-j 加入bzip2支持,將數據壓縮,默認等級爲2
-level 備份等級,0-9,0是完整備份,1-9爲差異備份
-f 產生的備份文件
-w 列出在/etc/fstab裏面的具有dump設置的分區是否備份過

4.4 ext文件系統恢復——restore

命令:restore -t [-f dumpfile] [-h]
restore -C [-f dumpfile] [-D 掛載點]
restore -i [-f dumpfile] [-h]
restore -r [-f dumpfile] [-h]

描述:文件系統恢復,恢復順序與備份順序一樣。

常用選項 作用
-t 查看備份文件中的重要數據
-C 列出備份文件中與當前文件系統不一樣的文件
-i 互動模式。可以僅還原部分文件
-r 將整個文件系統還原的一種模式,用於還原文件系統的備份
-f 接要處理的備份文件。
-D 與-C搭配,可以查出後面接的掛載點與dump內有不同的文件

5 光盤刻錄
5.1 建立映像文件——mkisofs、genisoimage

命令:mkisofs|genisoimage [-o 映像文件 ] [-Jrv] [-V vol] [-m file] 
待備份文件… -graft-point isodir=systemdir…

描述:製作映像文件。

常用選項 作用
-o 後面接你想要產生的那個映像文件。
-J 產生兼容windows機器的文件名結構,可增加文件名長度到64個unicode字符
-r 通過Rock Ridge擴展來記錄unix文件系統的數據,否則只支持dos系統
-v 顯示建置 ISO 文件的過程
-V vol 建立 Volume,有點像Windows在文件管理器內看到的CD title的東西
-m file 要排除的文件,後面的文件不備份到映像檔中,克使用*通配符
-graft-point 將實際路徑與映像文件中的路徑對應起來,否則直接加到映像文件的根目錄

5.2 刻錄工具——cdrecord、wodim

命令:wodim –devices dev=/dev/sr0…
wodim -v dev=/dev/sr0 blank=[fast|all]
wodim -v dev=/dev/sr0 -format
wodim -v dev=/dev/sr0 [可用選項功能] file.iso
cdrecord -scanbuSdev=ATA
cdrecord -v dev=ATA:x,y,z blank=[fast|all]
cdrecord -v dev=ATA:x,y,z -format
cdrecord -v dev=ATA:x,y,z [可用選項功能] file.iso

描述:將映像文件刻錄到光盤。

常用選項 作用
-scanbuSdev 掃瞄磁盤總線並找出可用的刻錄機,後續的裝置爲 ATA 接口
–devices 掃瞄磁盤總線並找出可用的刻錄機,後續的裝置爲 ATA 接口
-v 在 cdrecord 運作的過程中,顯示過程而已。
dev=/dev/sr0 可以找出此光驅的 bus 地址,非常重要!
dev=ATA:x,y,z 後續x,y,z爲刻錄機所有位置,非常重要!
blank blank 爲抹除可重複寫入的 CD/DVD-RW,使用 fast 較快,all 較完整
-format 對光盤片進行格式化,但是僅針對 DVD+RW 這種格式的 DVD 而已;
[可用選項] 主要是寫入 CD/DVD 時可使用的選項,常見的選項包括有:
-data 指定後面的文件以數據格式寫入,不是以 CD 音軌(-audio)方式寫入!
speed=X 指定刻錄速度,例如 CD 可用 speed=40 爲 40 倍數,DVD 則可用 speed=4 之類
-eject 指定刻錄完畢後自動退出光盤
fs=Ym 指定多少緩衝存儲器,可用在將映像檔先暫存至緩衝存儲器。預設爲 4m,一般建議可增加到 8m ,不過,還是得視你的刻錄機而定。
針對 DVD 的選項
driveropts=burnfree 打開 Buffer Underrun Free 模式的寫入功能
-sao 支持 DVD-RW 的格式

6 其他常見的壓縮與備份工具
6.1 磁盤備份——dd

命令:dd if=”input_file” of=”output_file” bs=”block_size” count=”number”

描述:讀取磁盤裝置的內容,然後將整個裝置備份成一個文件呢!此外還可以備份文件,製作指定大小的文件。dd是一個一個扇區去讀/寫的,即使沒有用到的扇區也會倍寫入備份文件中!因此這個文件會變得跟原本的磁盤一模一樣大!不過,dd就是因爲不理會文件系統,單純有啥紀錄啥,因此不論該磁盤內的文件系統你是否認識,它都可以備份、還原的!

常用選項 作用
if 就是 input file 囉~也可以是裝置喔!
of 就是 output file 喔~也可以是裝置;
bs 一個 block 的大小,若未指定則預設是 512 bytes(一個 sector 的大小)
count 多少個 bs 的意思。

6.2 標準IO備份——cpio

命令:cpio -ovcB > [file|device]
cpio -ivcdu < [file|device]
cpio -ivct < [file|device]

描述:可以備份任何東西,包括裝置設備文件。 cpio 不會主動的去找文件來備份!所以cpio得要配合類似find等可以找到文件名的指令來告知 cpio 該被備份的數據在哪裏。

常用選項 作用
-o 將數據 copy 輸出到文件或裝置上
-B 讓預設的Blocks可以增加至5120 bytes ,預設是 512 bytes !讓大文件的儲存速度加快
還原選項
-i 將數據自文件或裝置 copy 出來系統當中
-d 自動建立目錄!使用cpio所備份的數據內容不見得會在同一層目錄中,因此必須讓cpio在還原時可以建立新目
-u 自動的將較新的文件覆蓋較舊的文件!
-t 需配合 -i 選項,可用在”察看”以 cpio 建立的文件或裝置的內容
共享選項
-v 讓儲存的過程中文件名可以在屏幕上顯示
-c 一種較新的 portable format 方式儲存
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章