Linux tar 命令是歸檔或分發文件時的強大武器。GNU tar 歸檔包可以包含多個文件和目錄,還能保留其文件權限,它還支持多種壓縮格式。Tar 表示 "Tape Archiver",這種格式是 POSIX 標准。
tar 壓縮等級簡介:
常見的格式是 tar.gz 和 tar.bz2。如果你想快速壓縮,那麼就是用 gzip。如果歸檔文件大小比較重要,就是用 tar.bz2。
下面是一些使用 tar 命令的常見情形。
大部分 Linux 系統默認都安裝了 tar。如果沒有,這裡有安裝 tar 的命令。
在 CentOS 中,以 root 用戶在 shell 中執行下面的命令安裝 tar。
yum install tar
下面的命令會在 Ubuntu 上安裝 tar。“sudo” 命令確保 apt 命令是以 root 權限運行的。
sudoapt-get install tar
下面的 apt 命令在 Debian 上安裝 tar。
apt-get install tar
tar 命令在 Windows 也可以使用,你可以從 Gunwin 項目http://gnuwin32.sourceforge.net/packages/gtar.htm中下載它。
下面是在 shell 中運行 tar 命令 的一些例子。下面我會解釋這些命令行選項。
tar pczf myarchive.tar.gz /home/till/mydocuments
這個命令會創建歸檔文件 myarchive.tar.gz,其中包括了路徑 /home/till/mydocuments 中的文件和目錄。命令行選項解釋:
示例 1: 備份 /etc 目錄
創建 /etc 配置目錄的一個備份。備份保存在 root 目錄。
tar pczvf /root/etc.tar.gz /etc
用 tar 備份 /etc 目錄
要以 root 用戶運行命令確保 /etc 中的所有文件都會被包含在備份中。這次,我在命令中添加了 [v] 選項。這個選項表示 verbose,它告訴 tar 顯示所有被包含到歸檔文件中的文件名。
示例 2: 備份你的 /home 目錄
創建你的 home 目錄的備份。備份會被保存到 /backup 目錄。
tar czf /backup/myuser.tar.gz /home/myuser
用你的用戶名替換 myuser。這個命令中,我省略了 [p] 選項,也就不會保存權限。
示例 3: 基於文件的 MySQL 數據庫備份
在大部分 Linux 發行版中,MySQL 數據庫保存在 /var/lib/mysql。你可以使用下面的命令來查看:
ls/var/lib/mysql
使用 tar 基於文件備份 MySQL
用 tar 備份 MySQL 數據文件時為了保持數據一致性,首先停用數據庫服務器。備份會被寫到 /backup 目錄。
1) 創建 backup 目錄
mkdir/backup
chmod600/backup
2) 停止 MySQL,用 tar 進行備份並重新啟動數據庫。
service mysql stop
tar pczf /backup/mysql.tar.gz /var/lib/mysql
service mysql start
ls-lah /backup
基於文件的 MySQL 備份
提取 tar.gz 文件的命令是:
tar xzf myarchive.tar.gz
上面的 tar 命令會安靜地提取 tar.gz 文件,除非有錯誤信息。如果你想要看提取了哪些文件,那麼添加 “v” 選項。
tar xzvf myarchive.tar.gz
[v] 選項表示 verbose,它會向你顯示解壓的文件名。
提取 tar.gz 文件
via: https://www.howtoforge.com/tutorial/linux-tar-command/
作者:howtoforge 譯者:ictlyh 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出