如何在Linux下压缩文件( 三 )


◆ 支持许多老式磁带数据格式;

◆ 能够通过一个管道读取文件的文件名 。

只有很少的Linux软件包是以cpio格式发行的 。如果对cpio命令的详细情况感兴趣的话 , 可以阅读它的使用手册 。


使用gzip压缩文件


gzip命令是用来压缩文件的 。它不仅可以用来压缩大的、较少使用的文件以节省磁盘空间 , 还可以和tar命令一起构成Linux操作系统中比较流行的压缩文件格式 。据统计 , gzip命令对文本文件有60%~70%的压缩率 。

gzip命令的格式是:

gzip [option] [file]



gzip很容易使用 。如果想压缩某个文件或者磁带档案文件 , 可输入下面的内容:

# gzip mydir.tar



在缺省的状态下 , gzip会压缩文件、再加上一个.gz扩展名 , 然后删除掉原来的文件 。如果想解压缩文件 , 可以使用gzip的对应程序命令gunzip或者gzip命令的-d解压缩参数 。但是必须保证这个用于解压缩的文件有.gz(或者.Z、-gz、.z、-z、或者_z)扩展名 , 否则gzip命令和gunzip命令都会显示出错信息 。如果想使用自己的扩展名 , 可以使用-S后缀参数 , 如下所示:

# gzip -S .gzipped mydir.tar



gzip还可以处理用zip命令、compress命令和pack命令压缩的文件包 。如果想在压缩或者解压缩的过程中看到更多的信息 , 可以使用-l列清单参数看到文件在被压缩或解压缩的时候的文件长度 。在前一个例子中 , 压缩完子目录mydir之后 , 可以使用gzip命令按照下面的方法得到有关的数据:

# gzip -l mydir.tar.gz
compressed uncompr.ratio uncompressed_name
312 21330 98.2% mydir.tar



此外 , gzip还有一个很有用的参数-t , 可以用来测试压缩文件的完整性 。如果文件正常 , gzip不会给出任何显示 。如果想看到OK这两个字母 , 可以在测试某个文件时使用-tv参数 。


使用compress压缩文件


compress命令就像它的文件名那样是用来压缩文件的 。这是Unix中出现得比较早的一个压缩程序,它通过使用自适应的Lemple-Ziv编码来缩小所指文件的大小 。每一个文件将被一个带有.Z扩展名的压缩文件所代替 , 但文件的属主关系、访问时间和修改时间将保持不变 。如果没有指点文件 , 则接受标准输入的文件进行压缩并送到标准输出 。

compress命令格式是:

compress [option] [file]



与compress对应的有一个解压缩命令uncompress , 其格式如下:

uncompress [option] [file]



它使“.Z”的压缩文件恢复 。

compress和uncompress命令的选项如下:

◆-c 写到标准输出 , 不改变文件 。

◆-f 强制压缩 , 即使文件并不真正减小或.Z文件已经存在 , 也进行压缩 。

◆-v 显示每一个被压缩文件的缩小的百分比 。

下面举例说明compress命令的用法:

#compress file



上面代码表明将生成压缩文件file.Z代替file , 要解压缩输入:

#uncompress file.Z



注意 , 像使用gzip命令一样 , 使用uncompress命令时必须给出一个带有.Z扩展名的文件名 , 否则uncompress命令显示出错信息 。

推荐阅读