首页 > 代码库 > tar打包压缩命令总结

tar打包压缩命令总结

##tar命令参数

tar  zcvf   xxx.tar.gz /etc    
    ##前:打包压缩后的文件名,后:被打包压缩的文件或目录
tar zxvf xxx.tgz -C /etc/    
    ##将xxx.tgz文件解压到指定路径下

-z调用gzip工具压缩,生成或解压.gz扩展的压缩文件
-c--create,创建tar包
-v显示输出过程信息
-f--file对普通文件打包压缩
--exclude=x

排除不需要处理的文件或目录,不进行打包压

--exclude=xx1 --exclude=xx2    同时排除多个文件不进行打包压缩

tar zcvf a.tar.gz --exclude=xx1 --exclude=xx2 /root/tar-test/

-X

--exclude-from file 指定文件列表的形式排除不需要处理的文件或目

     ##将文件中指定的文件排除,不进行打包压缩。可以在paichu.list文件中指定同时指定多个文件

tar zcvfX a.tar.gz paichu.list /root/tar-test/

-t 

--list    查看压缩包才内容列表

tar -tf xxx.tar.gz    查看压缩包内容

-x

解包

tar zxvf a.tar.gz    将.tar.gz解压

     ##默认解压到当前目录

-C

指定目录,如将.tar.gz文件压缩与解压缩到指定目录下

tar zxvf a.tar.gz -C /root/tar-test-x/    

     ##解压.tar.gz文件,并放到指定路径下

tar zcvf a,tar.gz /root/test0511 -C /tmp    

     ##将文件目录打包压缩,并将.tar.gz文件放到指定路径下


    

实例

#()将/root/test0511/目录下所有文件进行打包压缩-->test-tar.tar.gz

1)find /root/test0511/ -type f |xargs tar zcvf test-tar.tar.gz
2)tar zcvf test-tar.tar.gz `find /root/test0511 -type f` 
    ####上两个方法都是将查找到结果一起打包压缩
3)find /root/test0511/ -type f -exec tar zcvf test-tar.tar.gz {} \;    
    #####错误方法:查找到一个-->test-tar.tar.gz,导致的后果就后一个打包进去,把前者替换,这样对磁盘I/O性能使用很大

#()是否把父目录一起压缩到包内

tar zcvf test-tar.tar.gz/root/test0511/
    ##则默认将/root/test0511及目录下所有文件和目录同时压缩
tar zcvf test-tar2.tar.gz/root/test0511/*    
    ##则只将目录下所有文件压缩,不把/root/test0511压缩进去

tar打包压缩命令总结