1. 程式人生 > 其它 >linux命令之tar

linux命令之tar

前言

​ 打包和壓縮:打包是指將一大堆檔案或目錄變成一個總的檔案;壓縮則是將一個大的檔案通過一些壓縮演算法變成一個小檔案。 linux終端操作上,檔案和目錄的打包和解包是使用頻率非常高的,linux中,常用的壓縮命令也是非常的多,像bzip2、gzip、unzip、zip和tar等等。本著實用夠用的原則,本文也不會對所有的命令進行介紹,只介紹在實際中,使用非常多的tar命令。

​ tar簡單來說的詳細介紹百度谷歌可以說非常詳細了,本文主要是記錄一下作者在使用過程中,對tar常見的一些用法總結。

tar基本語法:

tar (選項)輸出檔案 輸入檔案

tar常用選項:

-A或--catenate:新增檔案到以存在的備份檔案;

-B:設定區塊大小;
-c或--create:建立新的備份檔案;
-C <目錄>:這個選項用在解壓縮,若要在特定目錄解壓縮,可以使用這個選項。
-d:記錄檔案的差別;
-x或--extract或--get:從備份檔案中還原檔案;
-t或--list:列出備份檔案的內容;
-z或--gzip或--ungzip:通過gzip指令處理備份檔案;
-Z或--compress或--uncompress:通過compress指令處理備份檔案;
-f<備份檔案>或--file=<備份檔案>:指定備份檔案;
-v或--verbose:顯示指令執行過程;
-r:新增檔案到已經壓縮的檔案;
-u:新增改變了和現有的檔案到已經存在的壓縮檔案;
-j:支援bzip2解壓檔案;
-v:顯示操作過程;
-l:檔案系統邊界設定;
-k:保留原有檔案不覆蓋;
-m:保留檔案不被覆蓋;
-w:確認壓縮檔案的正確性;
-p或--same-permissions:用原來的檔案許可權還原檔案;
-P或--absolute-names:檔名使用絕對名稱,不移除檔名稱前的“/”號;
-N <日期格式> 或 --newer=<日期時間>:只將較指定日期更新的檔案儲存到備份檔案裡;
--exclude=<範本樣式>:排除符合範本樣式的檔案。

前面說的基本都是來自那個男人"man",其實上面的基本不需要記住,我們在實際的使用過程中,常用的就那麼幾種。

tar使用例項:

場景一:打包

我們有一個目錄src,裡面有原始碼相關的檔案,有時需要將整個目錄發給其它的人但是又不能上傳伺服器,這樣,我們可以使用打包命令
1、tar -cvf src.tar src #僅打包,不使用任何的壓縮,其後綴我們一般就使用tar
2、tar -czvf src.tar.gz src #打包後,以gzip進行壓縮,gzip壓縮的檔案,使用 .gz字尾
3、tar -cjvf src.tar.bz2 src #打包後,以bzip2進行壓縮,bzip2壓縮的檔案,使用.bz2字尾

以上操作中,c就是打包操作,v就是顯示打包的過程 f指定打包後的檔名 其中的 z j表示壓縮方法

場景二:解壓
與場景一類似,只是解壓的一個過程
1、tar -xvf src.tar #僅僅是一個打包檔案,沒有壓縮
2、tar -xzvf src.tar.gz #gz字尾檔案,使用z引數進行解壓
3、tar -xjvf src.tar.bz2 #bz2字尾檔案,使用j引數進行解壓

以上兩種就是我們在實際中使用非常多,當然,tar的功能還有很多很多,像對已打包的檔案進行更新打包,指定檔案日期打包,只解壓部分檔案等等一些功能,這裡就不一一介紹了。

珍惜你現在擁有的,而不是期待自己沒有的