有時候在 linux 上的檔案需要打包回來,所以需要學這個指令,每次這個指令都是使用完就會消失在腦海裡,記不太起來,因為很少去使用。
tar
指令是 UNIX/Linux 系統管理者最常會用到的指令之一,這裡蒐集一些使用範例,讓你透過範例了解如何使用 tar 來壓縮、解壓縮或備份檔案。
.tar
壓縮檔案
.tar
是一種最簡單的壓縮檔案格式,這種檔案格式其實只是將很多的資料夾或檔案全部合併成一個大檔案而已,他只有做「打包」的動作,並沒有進行資料的壓縮。這種檔案格式通常用於簡單的管線(pipe)指令,做一些單純的複製檔案的動作,如果想要真正壓縮資料,就必須配合其他的壓縮格式(例如 gzip
、bzip2
或 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