tar 歸檔+壓縮
語法:tar czvf newfile.tar.gz SOURCE
語法:tar czvf 壓縮後的文件名(tar.gz tar.bz2)需要壓縮的文件或目錄
常用參數:
-z, --gzip 以gzip方式壓縮 擴展名: tar.gz
-j : 以bz2方式壓縮的 擴展名:tar.bz2
-J: 以xz 方式壓縮 擴展名:tar.xz
例1:創建.tar.gz 包
[root@xuegod63 ~]# tar cvf /root/etc.tar /etc
[root@localhost test]# tar zcvf /root/etc.tar.gz /etc#歸檔,注意備份的名字後綴
[root@localhost test]# tar zxvf /root/etc.tar.gz #解壓縮
[root@localhost test]# tar xvf /root/etc.tar.gz #解壓縮
例2:創建.tar.bz2包
語法: #tar jcvf newfile.tar.bz2SOURCE
[root@xuegod63 ~]# tar -jcvf ~/etc.tar.bz2 /etc
[root@xuegod63 ~]# tar -jxvf ~/etc.tar.bz2 #解壓縮
[root@xuegod63 ~]# tar -xvf ~/etc.tar.bz2 #解壓縮
[root@xuegod63 ~]# tar jxvf ~/etc.tar.bz2 -C /opt #解壓到opt目錄下
例3:創建.tar.xz包
[root@xuegod63 ~]# tar -Jcvf ~/etc.tar.xz /etc
[root@xuegod63 ~]# tar -Jxvf ~/etc.tar.xz #tar.xz 這類包,解壓縮
[root@xuegod63 ~]# tar -xvf ~/etc.tar.xz
對比三種壓縮方式後壓縮比例:
[root@xuegod63 ~]# time tar zcf /root/etc.tar.gz /etc
[root@xuegod63 ~]# time tar jcf /root/etc.tar.bz2 /etc
[root@xuegod63 ~]# time tar Jcf /root/etc.tar.xz /etc
[root@xuegod63 ~]# ll -h etc.tar* (*為通配符,代表任意字元任意次)
-rw-r--r-- 1 0 root 28M5月 10 12:10 etc.tar
-rw-r--r-- 1 0 root 8.7M5月 10 12:14 etc.tar.bz2 #常用
-rw-r--r-- 1 0 root 9.8M5月 10 12:11 etc.tar.gz #常用
-rw-r--r-- 1 0 root 7.0M5月 10 12:16 etc.tar.xz #這個壓縮比例最高,壓縮的時間是最長
查看源文件大小
[root@xuegod63 ~]# -sh /etc
31M /etc
etc.tar包為28M ,實際幾乎沒怎麼壓縮。xz格式化為7.0M,傳輸的時候效率提高很多。
擴展:
解壓指定文件到指定目錄
[root@xuegod62 ~]# tar -C /opt -xvf boot.tar.gz boot/grub2/grub.cfg
解壓某一類型文件到指定目錄
--wildccards文件名匹配,使用通配符
[root@xuegod62 ~]# tar -tvf boot.tar.gz
[root@xuegod62 ~]# tar -C /opt -xvf boot.tar.gz --wildcards *.mo
排除指定文件並解壓
[root@xuegod62 ~]# rm -rf /opt/boot
[root@xuegod62 ~]# tar -C /opt -xvf boot.tar.gz boot/grub2 --exclude=boot/grub2/i386-pc
B. Linux系統下使用tar命令打包某個目錄,但需要把tar包命名為"/xx.tar"如何處理謝謝。
壓縮
tar-cvf /xx.tar xxx/
解壓
tar-xvf xx.tar
C. 如何使用tar命令使tar打包多個文件
tar tmp.tar ./
切換到要打包的目錄下,使用上面命令打包,tmp.tar為打包後的文件,./為要打包的目錄
D. 如何加速tar 命令的速度 有許多的小文件需要打包
tar命令僅對文件進行打包,並不會執行壓縮,所以其打包速度和cp一些文件的速度相當。
如果需要打包的文件較小而細碎,那麼tar命令需要比cp消耗更多時間。
E. linux 的tar 命令打包制定目錄下的所有文件,卻不想包含目錄。
命令為:tar zcvf /test/data.tar.gz -C /some/files .
另一種方法,建立一個文件excludefile,寫:
/data/web/aaa
/data/web/bbb
tar命令:
tar cvzf data.tar.gz --exclude-from /data/excludefile /data/web/
注意事項
tar --null -P -czf /tmp/archive.tar.gz --files-from=files.lst
files.lst是要打包的文件列表
tar 中--exclude的用法:
tar czvf oracle.tar.gzoracle --excludeoracle/oradata --exclude oracle/admin/shvoip --exclude oracle/doc
使用tar進行排除一個目錄的備份
打包/home這個目錄,/home/123/是不想打包的目錄。
tar cvf my.bak.tar /home --exclude /home/123
tar exclude
Published at February 20, 2008 in C/C++.
tar 的exclude 要放在最尾端才行:
tar jcvf WLANIntercept_20080220.tar.bz WLANIntercept/ –exclude=Debug
F. Linux:tar僅打包不壓縮時什麼意思呢tar指令不就是用來壓縮解壓的么
tar 是用來備份的程序,不加參數-z運行就不會將備份文檔壓縮,只是將文件打包備份為一個文檔。
G. 用tar命令對文件中列出的文件進行打包怎麼做
這個要看你的tar的版本了(tar --version),我用的是 gnu tar 1.23,用下面的命令來生成 my.tar, 內容是a.txt里列出來的文件。
tar -cf my.tar -T a.txt
或者
tar -cf my.tar --files-from a.txt
如果你的tar不支持 -T 或者 --files-from,還可以用如下方法
tar -cf my.tar `cat a.txt`
一般來說也是可以的 (注意 cat a.txt 要用反引號,也就是和波浪線一個按鍵的那個引號括起來)
H. linux下如何tar打包多個並列文件夾,如:將a文件夾 b文件夾 c文件夾,打包成d.tar文件
1、在任何目錄下建立測試文件,命令為「nano test.txt」,使用這個命令可以生成一個以test.txt命令的文件。