天天看點

基礎:tar 指令使用介紹基礎:tar 指令使用介紹

基礎:tar 指令使用介紹基礎:tar 指令使用介紹

<a></a>

tar 壓縮等級簡介:

無壓縮 沒有壓縮的檔案用 .tar 結尾。

bzip2 壓縮 和 gzip 格式相比 bzip2 提供了更好的壓縮比。建立壓縮檔案也比較慢,通常采用 .tar.bz2 結尾。

lzip(lama)壓縮 lizp 壓縮結合了 gzip 快速的優勢,以及和 bzip2 類似(甚至更好) 的壓縮率。盡管有這些好處,這個格式并沒有得到廣泛使用。

lzop 壓縮 這個壓縮選項也許是 tar 最快的壓縮格式,它的壓縮率和 gzip 類似,但也沒有廣泛使用。

常見的格式是 tar.gz 和 tar.bz2。如果你想快速壓縮,那麼就是用 gzip。如果歸檔檔案大小比較重要,就是用 tar.bz2。

下面是一些使用 tar 指令的常見情形。

備份伺服器或桌面系統

文檔歸檔

軟體分發

大部分 linux 系統預設都安裝了 tar。如果沒有,這裡有安裝 tar 的指令。

在 centos 中,以 root 使用者在 shell 中執行下面的指令安裝 tar。

<code>yum install tar</code>

下面的指令會在 ubuntu 上安裝 tar。“sudo” 指令確定 apt 指令是以 root 權限運作的。

<code>sudo apt-get install tar</code>

下面的 apt 指令在 debian 上安裝 tar。

<code>apt-get install tar</code>

<code>tar pczf myarchive.tar.gz /home/till/mydocuments</code>

這個指令會建立歸檔檔案 myarchive.tar.gz,其中包括了路徑 /home/till/mydocuments 中的檔案和目錄。指令行選項解釋:

[p] 這個選項表示 “preserve”,它訓示 tar 在歸檔檔案中保留檔案屬主和權限資訊。

[c] 表示建立。要建立檔案時不能缺少這個選項。

[z] z 選項啟用 gzip 壓縮。

[f] file 選項告訴 tar 建立一個歸檔檔案。如果沒有這個選項 tar 會把輸出發送到标準輸出( lctt 譯注:如果沒有指定,标準輸出預設是螢幕,顯然你不會想在螢幕上顯示一堆亂碼,通常你可以用管道符号送到其它程式去)。

示例 1: 備份 /etc 目錄

建立 /etc 配置目錄的一個備份。備份儲存在 root 目錄。

<code>tar pczvf /root/etc.tar.gz /etc</code>

基礎:tar 指令使用介紹基礎:tar 指令使用介紹

要以 root 使用者運作指令確定 /etc 中的所有檔案都會被包含在備份中。這次,我在指令中添加了 [v] 選項。這個選項表示 verbose,它告訴 tar 顯示所有被包含到歸檔檔案中的檔案名。

示例 2: 備份你的 /home 目錄

建立你的 home 目錄的備份。備份會被儲存到 /backup 目錄。

<code>tar czf /backup/myuser.tar.gz /home/myuser</code>

用你的使用者名替換 myuser。這個指令中,我省略了 [p] 選項,也就不會儲存權限。

示例 3: 基于檔案的 mysql 資料庫備份

在大部分 linux 發行版中,mysql 資料庫儲存在 /var/lib/mysql。你可以使用下面的指令來檢視:

<code>ls /var/lib/mysql</code>

基礎:tar 指令使用介紹基礎:tar 指令使用介紹

用 tar 備份 mysql 資料檔案時為了保持資料一緻性,首先停用資料庫伺服器。備份會被寫到 /backup 目錄。

1) 建立 backup 目錄

<code>mkdir /backup</code>

<code>chmod 600 /backup</code>

2) 停止 mysql,用 tar 進行備份并重新啟動資料庫。

<code>service mysql stop</code>

<code>tar pczf /backup/mysql.tar.gz /var/lib/mysql</code>

<code>service mysql start</code>

<code>ls -lah /backup</code>

基礎:tar 指令使用介紹基礎:tar 指令使用介紹

提取 tar.gz 檔案的指令是:

<code>tar xzf myarchive.tar.gz</code>

[x] x 表示提取,提取 tar 檔案時這個指令不可缺少。

[z] z 選項告訴 tar 要解壓的歸檔檔案是 gzip 格式。

[f] 該選項告訴 tar 從一個檔案中讀取歸檔内容,本例中是 myarchive.tar.gz。

上面的 tar 指令會安靜地提取 tar.gz 檔案,除非有錯誤資訊。如果你想要看提取了哪些檔案,那麼添加 “v” 選項。

<code>tar xzvf myarchive.tar.gz</code>

[v] 選項表示 verbose,它會向你顯示解壓的檔案名。

基礎:tar 指令使用介紹基礎:tar 指令使用介紹

本文來自雲栖社群合作夥伴“linux中國”

原文釋出時間為:2013-04-02.