一 壓縮文件的用途與技術
1 目前我們的計算機是使用byte來計量的,不過事實上計算機最小的計量單位是bit。我們知道1byte = 8bit
2 簡單的說,文件裡面會有很多的“空間”存在,並不是完全填滿的,而壓縮的技術就是將這些“空間”填滿,以讓這些文件的占用的容量下降。由於壓縮過的文件並無法直接被我們的操作系統使用,因此若要使用這些文件數據,我們必須進行解壓縮
3 目前很多的www網站利用壓縮的技術來進行數據的傳送,好讓網站寬帶的可利用率上升。
二 Linux常用的壓縮命令
(1) Compress
1 compress是非常老舊的壓縮技術,因為現在的gzip可以解開compress的壓縮文件,因為這裡不在解釋
(2) gzip
1 gzip可以說是應用最廣泛的壓縮命令了,目前gzip可以解開compress,zip與gzip等軟件所壓縮的文件。
2 gzip新建的壓縮文件的文件名為*.gz
3 gzip [-cdtv] filename
-c 將壓縮的數據輸出到屏幕上,可以通過數據流重定向來處理
-d 解壓縮的參數
-t 可以用來檢驗一個壓縮文件的一致性,看看文件有沒有錯誤
-v 可以用來顯示原文件/壓縮文件的壓縮比等信息
4 當我們使用gzip進行壓縮的時候,默認的狀態下原來的文件會被壓縮稱為.gz的文件,原文件不存在了。
5 使用gzip壓縮的文件,可以在windows系統中被WinRAR解壓
6 cat可以用來查看純文本文件,zcat可以用來查看被壓縮後的壓縮文件
(3) bzip2
1 bzip2是為了取代gzip並提供更佳的壓縮比而來的,bzip2的壓縮比比gzip還要好
2 bzip2 [-cdkzv] filename
-c 將壓縮過程所產生的數據輸出到屏幕上
-d 解壓縮的參數
-k 保留原文件,不會刪除原始的文件
-z 壓縮的參數
-v 可以顯示原文件/壓縮文件的壓縮比等信息
3 使用compress擴展名為*.Z,使用gzip的括展名為*.gz,這裡的bzip2擴展名為*.bz2
4 我們可以使用bzcat來讀取bzip2壓縮的文件
(4) tar
1 tar可以將多個目錄或文件打包成一個大文件,同時也支持gzip/bzip2的壓縮
2 壓縮 tar -jcv -f filename.tar.bz2
查詢 tar -jtv -f filename.tar.bz2
解壓縮 tar -jxv -f filename.tar.bz2-C
3 如果加了-j的參數,代表bzip2的壓縮,因此文件最好取名為*.tar.bz2
如果加了-z的參數,代表gzip的支持,那文件名最好為*.tar.gz
4 在學習tar的時候,將-f filename和其它的參數獨立出來,會比較不容易發生問題
三 備份工具和刻錄工具等
1 dump的功能很強大,除了可以備份整個文件系統之外,還可以制定等級
2 命令行刻錄行為的處理:
1) 先將所需要的備份的數據構建成一個鏡像文件iso,利用mkisofs命令處理
2) 將該鏡像文件刻錄至光盤/DVD當中,利用cdrecord來處理即可
3 dd命令不僅可以用來制作一個大的文件,我們也可以利用dd命令來進行備份
4 dd if="input file" of="output file"
if 就是input file也可以是設備,of就是output file也可以是輸出設備
dd if=/etc/passwd of=/tmp/passwd.back 作用就是把/etc/passwd 備份到/tmp/passwd.back
如果我們要把數據還原回去,我們直接反向回去就好了
5 tar可以用來備份關鍵數據,而dd則可以用來備份整塊分區或整個磁盤
6 dd可以將原本舊的分區中的扇區的數據整個復制過來,連同superblock,boot sector,meta data等全部復制過來
比如dd if=/dev/sda of=/dev/sdb 就能夠讓兩塊磁盤一模一樣,甚至/dev/sdb根本不需要格式化,因為該命令可以將/dev/sda內的所有的數據,包括MBR與分區表等也直接復制到/dev/sdb中