Download presentation
Presentation is loading. Please wait.
1
壓縮與備份工具
2
Outline gzip/gungzip/zcat bzip2/bunzip2/bzcat 備份工具 tar/cpio/dd
3
基本壓縮指令-gzip gzip 指令語法: gzip [-cdflr1~9] [filename ...]
-c = --stdout:將壓縮或解壓縮後的內容做 standard output,此時 原來檔案還是存在。 -d = --decompress:解壓縮。「gzip -d」等於 gunzip。 -l = --list:列出 gzip 壓縮檔在未壓縮前的大小、檔名、壓縮後的 大小及壓縮比。 -r = --recursive:對指定的目錄遞迴做壓縮。 -f = --force:當進行壓縮或解壓縮時,如檔名已存在,則進行強 制覆寫。 -1 ~ -9 : 使用 -9 能產生最佳的壓縮比,而 -1 雖然壓縮比是最低 的,但其執行速度最快。預設是 -6。
4
gzip/gunzip/zcat #cd /tmp #gzip /etc/fatab #ls -l /etc/fstab.gz
查看內容 #zcat /etc/fstab.gz 解壓縮方法-1 #gunzip /etc/fstab.gz 解壓縮方法-2 #gzip –d /etc/fstab.gz
5
基本壓縮指令-bzip2 bzip2 壓縮效果比 gzip 好 指令語法: bzip2 [-cdkf1~9] [filenames ...]
-c = --stdout。將壓縮或解壓縮後的內容做 standard output,此 時原來檔案還是存在。 -d = --decompress。解壓縮。「bzip2 -d」等於 bunzip2。 -k = --keep:保留原來檔案。 -f = --force。當進行壓縮或解壓縮時,如檔名已存在,則進行 強制覆寫。 -1 ~ -9: 與 gzip 意思相同。預設為 -9。
6
bzip2/bunzip2/bzcat #bzip2 /etc/fatab #ls -l /etc/fstab.bz2
#bzcat /etc/fstab.bz2 #gunzip2 /etc/fstab.bz2
7
打包指令 tar tar指令可將一些檔案目錄一起打包到 一個檔案內,而使用 tar 所建立起來的 tarfile 名稱,包括其附檔名,皆需自行 指定,一般都是用 xx.tar 指令語法: tar [-] [cvftxrzjP] tarfile filename dirname
8
tar的參數 -c = --create :建立一個新的 archive file。 -v = --verbose :顯示執行過程。
-f = --file=filename :表示其後要指定一個 archive file 或 device name。使用 tar 做備份 時,最基本的就是「-cvf」這三個參數的組合。
9
tar的參數 -t = --list :列出 archive file 的內容 -x = --extract : 解開被打包的檔案目錄
-r = --append :附加檔案至 archive file 內 容的後面。 -k = --keep-old-files :執行備份還原時, 不覆蓋已經存在的檔案。預設是會覆蓋 的。 -P = --absolute-paths :備份進去的檔案目 錄,皆保留完整路徑。將來要還原時, 也可加這個參數來依原本路徑做還原。
10
tar的參數 -z = --gzip 或 --ungzip
用 gzip 來壓縮 archive file。比如您要建立一 個用 gzip 壓縮的 archive file,就可搭配「- zcvf」參數來使用 ﹔反過來說,要解開當初 用 gzip 壓縮的 archive file,則使用「-zxvf」 即可。 -j = --bzip2 或 --bunzip2 用 bzip2 來壓縮 archive file。比如您要建立一 個用 bzip2 壓縮的 archive file,就可搭配「- jcvf」參數來使用 ﹔反過來說,要解開當初 用 bzip2 壓縮的 archive file,則使用「-jxvf」 即可。
11
tar的參數 -C :備份還原至 -C 所指定的目錄之中。
-X :執行備份時,可以事先將欲排除備份的檔 案目錄設定在一個檔案內,然後再使用「-X file」來排除就行了。 -g :做遞增備份時,所指定的備份紀錄檔案。
12
tar 練習 cd /home gzip wei (無法壓縮目錄) gzip –r wei (遞迴壓縮目錄)
ls –l wei (只能針對目錄內檔案各別壓縮) gunzip –r wei tar –cvf wei.tar wei/(打包成單一檔案) rm –r wei tar –xvf wei.tar(解開)
13
tar 練習 使用tar指令直接打包兼壓縮 tar –zcvf wei.tar.gz wei/ 使用 -j 參數,進行 bzip2 壓縮
tar -jcvf wei.tar.bz2 /home/wei /home
14
cpio cpio 可以備份任何東西,包括裝置設備 檔案。
cpio要配合類似 find 等可以找到檔名的 指令來告知 cpio 該被備份的資料在哪 裡。
15
cpio參數 備份會使用到的選項與參數: -o :將資料 copy 輸出到檔案或裝置上
-B :讓預設的 Blocks 可以增加至 5120 bytes ,預設 是 512 bytes ! 這樣的好處是可以讓大檔案的儲存速度加快。 還原會使用到的選項與參數: -i :將資料自檔案或裝置 copy 出來系統當中。 -d :自動建立目錄。 -u :自動的將較新的檔案覆蓋較舊的檔案! -t :列出 cpio 檔案或裝置的內容清單。 可共用的選項與參數: -v :讓儲存的過程中檔案名稱可以在螢幕上顯示 -c :一種較新的 portable format 方式儲存 ref:
16
cpio練習 # find /home | cpio -o > /backup/home.cpio
# find /home | cpio -oF /backup/home.cpio 將 /home 目錄備份至 /backup/home.cpio。以上兩種做法都行。 # cpio -t < /backup/home.cpio # cpio -tF /backup/home.cpio 查看 /backup/home.cpio 的內容。 把 /home 內容刪除,然後再進行備份還原的測試: # rm -rf /home/* # cpio -i < /backup/home.cpio # cpio -iF /backup/home.cpio 執行備份還原後, home 目錄會在目前工作目錄下產生,因為還原時, 預設會把home 前面的 " / " 去除,所以無法按照原先的路徑來做還原。
17
dd指令 可製作一個檔案。 可以備份 MBR 磁區、partition 上的 Boot Sector,也可備份某個分割區及整 顆硬碟。
指令語法: dd if=FILE of=FILE [bs=BYTES|ibs=BYTES|obs=BYTES] count=BLOCKS
18
dd練習 將自己的磁碟之第一個磁區備份下來 # dd if=/dev/hdc of=/tmp/mbr.back bs=512 count=1
將 /etc/passwd 備份到/tmp/passwd.back。 # dd if=/etc/passwd of=/tmp/passwd.back 將自己的磁碟之第一個磁區備份下來 # dd if=/dev/hdc of=/tmp/mbr.back bs=512 count=1 將分割槽備份 # df -h #dd if=/dev/hdc1 of=/tmp/boot.whole.disk
Similar presentations