原文地址http://www.daileinote.com/computer/linux_cmd/04
tar命令可以為linux的文件和目錄創(chuàng)建檔案。利用tar命令,可以把一大堆的文件和目錄全部打包成一個文件,這對于備份文件或將幾個文件組合成為一個文件以便于網(wǎng)絡傳輸是非常有用的。
首先要弄清兩個概念:打包和壓縮。
打包是指將一大堆文件或目錄變成一個總的文件。
壓縮則是將一個大的文件通過一些壓縮算法變成一個小文件。
更多詳細用法請參照man tar
#常用命令選項
-c 打包
-x 解包解壓縮
-t 查看
-v 顯示詳細信息
--exclude 排除
-C 指定目錄
#3種壓縮格式,壓縮率從低到高
#一般選用bzib2足已,xz壓縮率高但是壓縮速度偏慢
-z gzip
-j bzib2
-J xz
例子:
tar -cvf glibc.tar * #打包當前目錄(注意不會打包隱藏文件如.ssh)
#將當前目錄所有打包為glibc.tar(過濾掉dir目錄,擴展名為png,jpg的文件)
tar -cvf glibc.tar * --exclude dir --exclude '*.png' --exclude '*.jpg'
tar -zcvf glibc.tar.gz glibc a.txt #打包并以gzip壓縮glibc,a.txt
tar -jcvf glibc.tar.bz2 glibc a.txt #打包并以bzib2壓縮glibc,a.txt
tar -Jcvf glibc.tar.xz glibc b.txt #打包并以xz壓縮glibc,a.txt
#解包--解壓縮到/root目錄
tar -zxvf glibc.tar.gz -C /root #gzip
tar -jxvf glibc.tar.bz2 -C /root #bzib2
tar -Jxvf glibc.tar.xz -C /root #xz
#查看包內容
tar -tvf glibc.tar.bz2
進階:
#只查看第一層文件目錄
tar --exclude="*/*" -tvf glibc.tar.bz2
#只打包隱藏文件(文件名第一個是.第二個是非.)
tar -cvf /tmp/aaa.tar .[!.]*
#打包全部(包含隱藏文件)
#ls -A不會列出. ..兩個目錄
tar -cvf /tmp/bbb.tar `ls -A`