1.3.6 Linux系统的文件打包与压缩
Linux系统有自己特有的压缩工具,像RAR这种Windows系统下面很流行的压缩文件,它是不能识别的。在Linux系统中,压缩文件名称必须要带上扩展名,这是为了判断压缩文件是由哪种压缩工具所压缩,而后才能去正确地解压这个文件。
Linux系统下的压缩工具如表1-7所示。
因为compress是一个非常古老的压缩工具了,新版本的Linux系统中一般不会默认安装该工具,所以对于这个命令,我们只要了解它的存在即可。其余命令的介绍如下。
1.bzip2
bzip2是一个压缩工具,其压缩的文件的扩展名为.bz2。其语法如下。
bzip2 [-option] 文件名
常用参数如下。
●-d:解压被压缩的文件(以.bz2为扩展名的文件,同样支持解压扩展名为.bz、.tbz的文件)。
●-z:压缩以.bz2为扩展名的文件。
●-k:压缩后保留原文件。
例如,要压缩install.log文件,可以使用图1-97所示命令,压缩后产生了install.log.bz2文件,原来的install.log文件被删除了。如果要保留原文件,则可以使用-k参数。
图1-97 通过bzip2压缩文件
如果要解压install.log.bz2文件,则可以使用图1-98所示命令。
图1-98 通过bzip2解压文件
2.gzip
使用gzip命令压缩的文件的扩展名为.gz。其语法如下。
gzip [-option] 文件名
常用参数如下。
●-d:解压被压缩的文件(以.gz为扩展名的文件)。
●-数字:指定压缩率,1表示最低,9表示最高。需要注意的是,虽然1对应的压缩率最低,但是压缩速度快,9对应的压缩率最高(压缩后的文件最小),但是压缩过程比较长。该参数默认是6。
如果要压缩install.log文件,则使用图1-99所示命令。
图1-99 通过gzip压缩文件
可以看到当前目录下生成了install.log.gz文件。
如果要解压install.log.gz文件,则使用图1-100所示命令。
图1-100 通过gzip解压文件
3.zip
zip命令用于将一个或多个文件压缩为一个压缩包,压缩文件的扩展名为.zip。其语法如下。
zip 压缩名 文件列表
这个压缩文件的扩展名在Windows系统下很常见。如果要把install.log和install.log.syslog这两个文件都压缩到ins.zip文件中,则使用图1-101所示命令。
图1-101 通过zip压缩两个文件
如果要解压文件,则使用图1-102所示命令。
图1-102 通过zip解压文件
4.tar
tar是一个打包工具。打包和压缩并不相同。打包的目的是方便归档、管理,压缩的目的是减少磁盘空间的消耗。tar的语法如下。
tar [-option] 打包名 需要打包的文件
常用参数如下。
●-c:建立一个包。
●-t:查看包中的文件。
●-v:打包过程中显示被打包的文件。
●-f:需要打包的内容为文件。
●--exclude file:在打包过程中,不要将file文件打包。
●-x:提取包中的文件。
●-z:同时启用gzip工具进行压缩或解压。
【例 1-31】 将install.log和install.log.syslog这两个文件打包成ins.tar,则使用图1-103所示命令。
图1-103 通过tar打包
如果要解压ins.tar包,则使用图1-104所示命令。
图1-104 通过tar解压包
除了 zip 之外,前面介绍的这些压缩工具均只能对单个文件进行压缩。如果将多个文件压缩为一个文件,则称这个文件为压缩包,这里先用tar打包,再用压缩工具进行压缩(zip不采用这种方法,zip本身就可以打包)。例如,要将install.log和install.log.syslog这两个文件打包,再压缩成.gz文件,要用到两行命令,即先用tar打包,再用gzip压缩,这样将会生成一个ins.tar.gz文件。网络上发布的一些Linux系统的小工具、小应用(通常都使用这种.tar.gz的扩展名)其实就是Linux系统下的压缩包。解压这个包同样需要两步,先用gzip -d解压,再用tar打包。我们还可以通过-z参数让tar命令直接调用gzip工具,而不需要自己再写一行gzip命令,这样打包、压缩就可以一步完成了。在上面这个打包、压缩的例子中,可以利用图1-105所示命令实现打包和压缩。
图1-105 打包并压缩
如果要解压并打包,则同样可以采用图1-106所示命令实现。
图1-106 解压并打包
版权声明:51Testing软件测试网获得人民邮电出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。