一、说明
tar命令用来打包或解压文件,打包后的文件后缀一般为.tar.gz或.tgz
1.1 打包和压缩
首先要弄清两个概念:打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。
为什么要区分这两个概念呢?这源于Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)。
二、使用场景
2.1 打包
打包
tar -cvf log.tar log2012.log 仅打包,不压缩!
tar -czvf log.tar.gz log2012.log 打包后,以 gzip 压缩
tar -cjvf log.tar.bz2 log2012.log 打包后,以 bzip2 压缩
打包并保存其权限
tar -czvpf log31.tar.gz log2014.log log2015.log log2016.log
在文件夹当中,比某个日期新的文件才打包
tar -N "2012/11/13" -zcvf log17.tar.gz logs/*
排除部分文件
tar --exclude scf/service -zcvf scf.tar.gz scf/*
2.2 解压
查看tar包内有哪些文件
tar -tzvf log.tar.gz
解压到指定目录
tar -xzvf log.tar.gz -C /tmp/logs/
解压部分文件
tar -xzvf /opt/soft/test/log30.tar.gz log2013.log
三、总结
压 缩:tar -czv -f filename.tar.gz 要被压缩的文件或目录名称
查 询:tar -tzv -f filename.tar.gz
解压缩:tar -xzv -f filename.tar.gz -C 欲解压缩的目录