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結合splittar -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"