Linux tar命令:文件压缩

文件的压缩、解压与打包在嵌入式 Linux 中经常使用,特别是解压。因为通常 Linux 下的源码都是以 gz、bz2 等打包的形式提供的,常用的压缩、解压命令都是基于 tar 命令的。

tar 命令将用户所指定的文件或目录打包成一个文件,不过它并不做压缩。一般 UNIX 上常用的压缩方式是先用 tar 命令将许多文件打包成一个文件,再用 gzip 等压缩命令压缩文件,该命令使用方法如下:

tar [选项] 压缩后的文件名 要被压缩的文件


tar 命令选项说明如表 1 所示。
表 1:tar 命令选项说明
选项 说明
-c 创建一个新的 tar 文件
-v 显示运作过程信息
-f 指定文件名称
-z 调用 gzip 压缩命令执行压缩
-j 调用 bzip2 压缩命令执行压缩
-t 参看压缩文件内容
-x 解开 tar 文件

tar 命令本身没有压缩能力,但是可以在产生的 tar 文件后立即使用其他压缩命令来压缩,省去需要输入两次命令的麻烦。使用 -z 参数来解开最常见的 .tar.gz 文件,如将文件解开至当前目录下的命令为:

$ tar -zxvf foo.tar.gz


使用 -j 参数解开 tar.bz2 压缩文件,如将文件解开至当前目录下,则可使用命令:

$ tar -jxvf linux-2.6.25.tar.bz2


使用 -Z(大写 Z)参数指定以 compress 命令压缩。例如,欲将当前用户所在的目录下所有后缀名为 .tif 的文件打包,并压缩成 .tar.Z 文件,压缩后的文件名为“picture.tar.Z”,应该使用命令:

$ tar -cZvf picture.tar.Z *.tif