教你在Linux中如何歸檔和備份

roc_guo發表於2021-06-17

保護系統的資料安全是計算機系統管理的重中之重,解決方法就是透過實時備份系統檔案,來保護資料,也就是常說的資料容災備份。在這篇文章中,我們將會描述幾個常用來管理檔案集合的命令程式,即檔案壓縮程式和歸檔程式,從而掌握在 系統中如何歸檔和備份資料。

 

壓縮檔案

 gzip – 壓縮或者展開檔案

 bzip2 – 塊排序檔案壓縮器

資料壓縮的原理就是一個刪除冗餘資料的處理過程。壓縮演算法或任務主要分為兩大類,即無失真壓縮和有失真壓縮。無失真壓縮的目標是在實現壓縮的基礎上,保留原始檔案的所有資料。而有失真壓縮呢,在執行壓縮操作的過程中會刪除一些資料,從而實現更大的壓縮目標。 有失真壓縮的 例項 JPEG (圖 像)檔案和 MP3 (音訊)檔案。我們 主要描述 完全無失真壓縮, 原因是 計算機中的 大多數資料是不能允許丟失任何資料的。

Gzip 命令

gzip 命令支援 壓縮一個或 多個檔案。當執行gzip 命令時, 那麼 原始檔案的壓縮版會替代 原始檔案。相對應的 gunzip 命令將 壓縮檔案復原為沒有被壓縮的版本。

例項如下:

[ centos @ linuxprobe  ~]$ ls -l /etc > test.txt

[centos@linuxprobe ~]$ ls -l foo.*

-rw-r--r-- 1 centos centos 15738 2008-10-14 07:15 test.txt

[centos@linuxprobe ~]$ gzip test.txt

[centos@linuxprobe ~]$ ls -l foo.*

-rw-r--r-- 1 centos centos 3230 2008-10-14 07:15 test.txt.gz

[centos@linuxprobe ~]$ gunzip test.txt.gz

[centos@linuxprobe ~]$ ls -l foo.*

-rw-r--r-- 1 centos centos 15738 2008-10-14 07:15 test.txt

首先,我們建立了一個名為 test.txt 的文字檔案 。其次,我們執行 gzip 命令, 原始檔案替換為一個叫做test.txt.gz 的壓縮檔案。在 foo.* 檔案列表中, 檢視得出 原始檔案已被壓縮檔案替代, 大小 原始文 件的五分之一,許可權和時間戳相同。

最後,我們執行 gunzip 程式來解壓縮檔案。隨後, 壓縮檔案解壓縮後得到的檔案,其大小、許可權和時間戳都無變化,實現了無失真壓縮。

bzip2 命令

gzip 命令 相似, 區別是 使用不同的壓縮演算法,舍 棄了壓縮速度,從而實現更高的壓縮級別; bzip2 壓縮的檔案,用副檔名 .bz2 來表示 。在大多數情況下,它的工作模式及方式等同於 gzip 命令

bunzip2 bzcat 命令用來 解壓縮檔案。

bzip2 命令 也帶有bzip2recover 程式,其會試圖恢復受損的 .bz2 檔案。

例項如下:

[centos@linuxprobe ~]$ ls -l /etc > test.txt

[centos@linuxprobe ~]$ ls -l test.txt

-rw-r--r-- 1 centos centos 15738 2008-10-17 13:51 test.txt

[centos@linuxprobe ~]$ bzip2 test.txt

[centos@linuxprobe ~]$ ls -l test.txt.bz2

-rw-r--r-- 1 centos centos 2792 2008-10-17 13:51 test.txt.bz2

[centos@linuxprobe ~]$ bunzip2 test.txt.bz2

 

歸檔檔案

 tar – 打包 檔案 工具

 zip – 打包和壓縮檔案

與檔案壓縮相互結合的檔案管理任務是歸檔。歸檔就是收集多個檔案,並將它們捆綁成一個大檔案的過程。歸檔經常作為系統備份的組成部分來使用。當將一些舊的資料從一個系統遷移到某種型別的長期儲存裝置中時,也會用到歸檔程式。

tar

tar 命令可以說是 用來歸檔檔案的經典工具。 其檔案的副檔名為 .tar 或者 .tgz ,它們各自 所表達的含義是 “普通”的 tar 包和被 gzip 程式壓縮過的 tar 包。一個 tar 包可以由一組獨立的檔案,一 個或者多個目錄,或者兩者混合體組成。

命令語法如下:

tar mode[options] pathname...

mode 是指以下操作模式 之一:

模式說明

c 為檔案和/或目錄列表建立歸檔檔案。

x 抽取歸檔檔案。

r 追加具體的路徑到歸檔檔案的末尾。

t 列出歸檔檔案的內容。

[centos@linuxprobe ~]$ tar xf ../ txt .tar

[centos@linuxprobe ~]$ ls

txt

透過檢視 /foo/playground 目錄中的內容,這個歸檔檔案已被 建立 同時也建立了一個原始檔案副本。

注意:從歸檔檔案中抽取的檔案和目錄的所有權由執行此復原操作的使用者所擁有,不屬於原始所有者。

zip

zip 命令 既是 一個 壓縮工具, 同時 也是一個打包工具。在Linux gzip 是主要的壓縮 命令 程式, uzip 是主要的解壓縮命令程式。

zip/unzip 命令程式 可以完成 一些大家平常的一些 基本操作 它們兩個都有許多選項 引數 從而 增加了 運用靈活性。 zip unzip 命令的說明手冊 都相當不錯,並且 包含了許多例項。值得注意的是,這些程式的主要用途是為了和 Windows 系統交換檔案,而不是在 Linux 系統中執行壓縮和打包操作, tar gzip 程式在 Linux 系統中更 常用

在這裡討論的所有命令的手冊文件都講解的清清楚楚明明白白,且附上有用的例項。我們需要熟練掌握它們。在編寫這篇文章過程中我還參考了 這本書,內容很貼近實踐,很有理論指導實踐價值的一本書籍。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2777150/,如需轉載,請註明出處,否則將追究法律責任。

相關文章