tar命令詳解使用

1.tar命令詳解使用

格式: tar 選項 文件目錄列表

功能: 對文件目錄進行打包備份
選項:
-c 建立新的歸檔文件
-r 向歸檔文件末尾追加文件
-x 從歸檔文件中解出文件
可以這樣記憶,創建新的文件是c,追加在原有文件上用r,從文件中解壓出用x

-O 將文件解開到標準輸出
-v 處理過程中輸出相關信息
-f 對普通文件操作 ---似乎一直都要用f,不然的話,可能會不顯示
-z 調用gzip來壓縮歸檔文件,與-x聯用時調用gzip完成解壓縮
-Z 調用compress來壓縮歸檔文件,與-x聯用時調用compress完成解壓縮

-t :查看 tarfile 裏面的文件!
特別注意,在參數的下達中, c/x/t 僅能存在一個!不可同時存在!

-p :使用原文件的原來屬性(屬性不會依據使用者而變)
-P :可以使用絕對路徑來壓縮!

-N :比後面接的日期(yyyy/mm/dd)還要新的纔會被打包進新建的文件中!


注: -j 使用bzip2 進行壓縮和解壓


--exclude FILE:在壓縮的過程中,不要將 FILE 打包!

例子:

1.將當前目錄下所有.txt文件打包並壓縮歸檔到文件this.tar.gz,我們可以使用
tar czvf this.tar.gz ./*.txt

2.將當前目錄下的this.tar.gz中的文件解壓到當前目錄我們可以使用
tar xzvf this.tar.gz ./


2.如何把tar.gz格式文件解壓到指定目錄?
格式 :#tar zxvf *.tar.gz -C 您想指定的目錄。一個簡單例子:比如把kleandisk-2.1.tar.gz解壓後,釋放到/home/cao目錄下。可以這樣:
#tar zxvf  kleandisk-2.1.tar.gz -C /home/cao

3.文件的切分split

1.tar結合split
tar -jcf - aa | split -b 1k -d -a 3 - aa.tar.bz2
ll -thr
total 96K
-rw-r--r--  1 root root 9.1K Feb 23 10:10 aa
-rw-r--r--  1 root root 1.0K Feb 23 11:00 aa.tar.bz2009
-rw-r--r--  1 root root 1.0K Feb 23 11:00 aa.tar.bz2008
-rw-r--r--  1 root root 1.0K Feb 23 11:00 aa.tar.bz2007
-rw-r--r--  1 root root 1.0K Feb 23 11:00 aa.tar.bz2006
-rw-r--r--  1 root root 1.0K Feb 23 11:00 aa.tar.bz2005
-rw-r--r--  1 root root 1.0K Feb 23 11:00 aa.tar.bz2004
-rw-r--r--  1 root root 1.0K Feb 23 11:00 aa.tar.bz2003
-rw-r--r--  1 root root 1.0K Feb 23 11:00 aa.tar.bz2002
-rw-r--r--  1 root root 1.0K Feb 23 11:00 aa.tar.bz2001
-rw-r--r--  1 root root 1.0K Feb 23 11:00 aa.tar.bz2000

tar -zcf - aa | split -b 1k -d -a 3 - aa.tar.gz
ll -thr
total 96K
-rw-r--r--  1 root root 9.1K Feb 23 10:10 aa
-rw-r--r--  1 root root 1.0K Feb 23 11:03 aa.tar.gz009
-rw-r--r--  1 root root 1.0K Feb 23 11:03 aa.tar.gz008
-rw-r--r--  1 root root 1.0K Feb 23 11:03 aa.tar.gz007
-rw-r--r--  1 root root 1.0K Feb 23 11:03 aa.tar.gz006
-rw-r--r--  1 root root 1.0K Feb 23 11:03 aa.tar.gz005
-rw-r--r--  1 root root 1.0K Feb 23 11:03 aa.tar.gz004
-rw-r--r--  1 root root 1.0K Feb 23 11:03 aa.tar.gz003
-rw-r--r--  1 root root 1.0K Feb 23 11:03 aa.tar.gz002
-rw-r--r--  1 root root 1.0K Feb 23 11:03 aa.tar.gz001
-rw-r--r--  1 root root 1.0K Feb 23 11:03 aa.tar.gz000

解壓
cat aa.tar.bz200* | tar -jx
cat aa.tar.gz00* | tar -zx
=======================================================

參數介紹
"-jcf" 參數是創建(c)文件(f)並調用bzip2進行壓縮(j)
"-"是將所創建的文件輸出到標準輸出上
"|"管道輸出給 split 命令進行文件分割
"-b" n[bkm] 以體積爲單位的拆分,約定每拆分後每個文件的大小 ,b代表512B,k代表1KB,m代表1MB
"-d" 參數指定爲數字的形式
"-a x"來設定序列的長度(默認值是2)

大家也可以用"z"代替"j"參,這樣tar就會調用gzip進行壓縮,而不是bzip2,當然,如果你用了"z"參數,記得將輸出的文件名中的"bz2"改爲"gz"
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章