首先要弄清楚兩個概念:打包和壓縮。打包是指將一大堆檔案或目錄變成一個總的檔案;壓縮則是將一個大的檔案經由一些壓縮演算法變成一個小檔案。
為什麼要區分這兩個概念呢?這源自於Linux 中許多壓縮程式只能針對一個檔案進行壓縮,這樣當你想要壓縮一大堆檔案時,你得先將這一大堆檔案先打成一個套件(tar指令),然後再用壓縮程式進行壓縮(gzip bzip2指令)。
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=:排除符合範本樣式的檔案。
#
將檔案打包成 tar 套件:
tar -cvf log.tar log2012.log
只打包,不壓縮!
tar -zcvf log.tar.gz log2012.log
打包後,以 gzip 壓縮
tar -jcvf log.tar.bz2 log2012.log
打包後,以 bzip2 壓縮
#在資料夾當中,比某個日期新的檔案才備份:
tar -N "2018/3/1" -zcvf log.tar.gz test
如果最簡單的使用 tar 就只要記憶下面的三種方式即可:
壓 縮:
tar -jcv -f filename.tar.bz2
要壓縮的檔案或目錄名稱
查詢:
tar -jtv -f filename.tar.bz2
解壓縮:
tar -jxv -f filename.tar.bz2 -C
欲解壓縮的目錄
以上是Linux tar 用法介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!