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命令的文件。