UNIX/Linux 檔案壓縮與備份工具 tar 指令使用教學與範例

有時候在 linux 上的檔案需要打包回來,所以需要學這個指令,每次這個指令都是使用完就會消失在腦海裡,記不太起來,因為很少去使用。

tar 指令是 UNIX/Linux 系統管理者最常會用到的指令之一,這裡蒐集一些使用範例,讓你透過範例了解如何使用 tar 來壓縮、解壓縮或備份檔案。


.tar 壓縮檔案

.tar 是一種最簡單的壓縮檔案格式,這種檔案格式其實只是將很多的資料夾或檔案全部合併成一個大檔案而已,他只有做「打包」的動作,並沒有進行資料的壓縮。這種檔案格式通常用於簡單的管線(pipe)指令,做一些單純的複製檔案的動作,如果想要真正壓縮資料,就必須配合其他的壓縮格式(例如 gzipbzip2 或 lzma等)一起使用才行。


建立 .tar 壓縮檔:

tar -cvf my.tar my-folder1/ my-folder2/

tar 指令所使用的參數說明:

  • c:建立壓縮檔案(create)。
  • v:輸出處理的檔案列表(verbose)。
  • f:指定壓縮檔案(archive file)。

解壓縮 .tar 壓縮檔案:

可使用 tar 指令的 -x 參數(代表 extract),若要將上面壓縮好的 my.tar 壓縮檔解開,則可使用下面的指令:

tar -xvf my.tar

附註:tar 指令的第一個參數是用於指定要執行的動作,而這個參數的減號(-)是可以省略的。


想要指定解壓縮後的檔案放置位置,可以使用 -C 參數,例如:

tar -xvf my.tar -C /home/username/

這樣解壓縮後的檔案就會放在 /home/username/ 目錄中。

附註:tar 指令的第一個 -xvf 參數同樣也可以將減號(-)省略。


使用 tar 指令建立 .tar.gz 格式的壓縮檔:

tar -zcvf my.tar.gz my-folder

這樣就會建立一個 mpi.tar.gz 壓縮檔。這裡 tar 指令所使用的參數跟上一篇中產生 .tar 壓縮檔的時候很類似,只是多了一個 -z 而已,而這個 -z 就是代表把壓縮出來的 .tar 檔再丟給 gzip 來壓縮.

也可以直接使用 gzip 指令直接針對 .tar 檔來壓縮,例如:

tar cvf my.tar my-folder
gzip my.tar

解壓縮 .tar.gz 壓縮檔案:

tar -zxvf my.tar.gz

基本上用法跟解壓縮 .tar 檔案的情況很像,只是加上 -z 參數而已,這是參數是代表這個壓縮檔是有經過gzip. 也可以手動下:

gzip -d my.tar.gz
tar xvf my.tar

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *