tar 归档压缩

tar命令在Linux下十分常用,用于文件压缩和解压。Linux下打包多个文件成为一个文件叫做归档(archive),而把归档文件通过压缩算法变得更小,这个步骤称之为压缩。这两部实际上是可以分开执行的,但是没有必要,我们使用tar命令,直接将一些文件联用归档压缩即可。

Linux下最常见的压缩格式是gzipbz2tar命令直接支持这两种格式。对于zip7z等格式,tar并不支持。下面我们介绍下最常用的tar命令和参数,tar还有其他很多选项,具体可以参考man手册。

创建压缩归档

我们的例子是:压缩一个叫LearnC的文件夹,其中包含了一些C源代码文件,这个文件夹有177.5KB大。

只归档:

tar cvf LearnC.tar LearnC

归档并使用gzip压缩:

tar zcvf LearnC.tar.gz LearnC

归档并使用bz2压缩:

tar jcvf LearnC.tar.bz2 LearnC

只归档并不会减小文件体积,反而会增大,而使用gzipbz2压缩,对于未压缩的文件则会有效减小体积。对于上述文本文件,我们使用gzip压缩得到的压缩包大小仅为18.7KB,使用bz2压缩仅为14.7KB

解压压缩归档

tar xvf LearnC.tar.gz

解压不需要指定压缩算法,tar会自动选择,默认解压到当前位置。

  • -C:有时我们要将压缩包解压到指定位置,可以指定-C选项,例如tar test.tar.gz -C /opt

查看归档文件内的内容

在没有图形界面的服务器上,我们想要查看一个压缩包的内容,不是必须解压开才能做到。tar命令支持查看归档文件里的文件名。

tar tvf LearnC.tar.gz

该命令会输出归档文件里的文件信息。

作者:Gacfox
版权声明:本网站为非盈利性质,文章如非特殊说明均为原创,版权遵循知识共享协议CC BY-NC-ND 4.0进行授权,转载必须署名,禁止用于商业目的或演绎修改后转载。