tar
man - 官方对这个指令的解释是:为linux的文件和目录创建档案(备份文件)。一般我们理解就是打包。
打包:打包是指将一大堆文件或目录变成一个总的文件。
压缩:压缩则是将一个大的文件通过一些压缩算法变成一个小文件。
Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)
打包、压缩
tar -cvf log.tar log2012.log 仅打包,不压缩!
tar -zcvf log.tar.gz log2012.log 打包后,以 gzip 压缩
tar -jcvf log.tar.bz2 log2012.log 打包后,以 bzip2 压缩
tar -zcvpf log31.tar.gz log2014.log log2015.log log2016.log -p保留权限
tar --exclude scf/service -zcvf scf.tar.gz scf/* 排除某些文件
查询
tar -ztvf log.tar.gz
用gzip压缩的就要带-z
参数。用bzip2压缩的就带-j
参数。
解压缩
tar -zxvf /opt/soft/test/log.tar.gz
tar -zxvf /opt/soft/test/log30.tar.gz log2013.log 解压一个文件