Prayer

在一般中寻求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

Linux中文件的压缩与解压缩

Posted on 2009-04-10 15:04 Prayer 阅读(517) 评论(0)  编辑 收藏 引用 所属分类: Shell
对许多用户来说,在DOS和Windows环境下利用工具软件ARJ、Winzip等,压缩或解压文件是比较容易的事。但是,在Linux中如何对文件进行压缩与解压呢?本文基于Red Hat 6.0,介绍了压缩与解压文件的几种方法与技巧,希望对读者有一定的帮助。

命令 compress
格式 compress 选项 文件列表
功能 用Lempel-ziv压缩方法来压缩文件或压缩标准输入
选项 -r 递归操作,如果指定目录变元,则压缩该目录及其子目录中的所有文件。

 

-c 将压缩数据返回标准输出,而缺省情况下为压缩文件时将压缩数据返回文件。

-v 显示每个文件夹的压缩百分比。

解释 在用compress压缩文件时,将在原文件名之后加上扩展名.Z。如果不指定文件,则压缩标准输入,其结果返回标准输出。
实例 目的:压缩/mnt/lgx/a1.doc文件

 

命令:#compress /mnt/lgx/a1.doc

结果:压缩后生成a1.doc.Z文件。

命令 uncompress
格式 uncompress 选项 文件列表
功能 解压缩用compress 程序压缩过的文件
选项 -c 它将压缩数据发往标准输出而不是改写旧的压缩文件
解释 如果不指定文件,则解压缩标准输入。缺省-c时,为解压缩。
实例 目的:解压缩/mnt/lgx/a1.doc.Z

 

命令:# uncompress /mnt/lgx/a1.doc.Z

命令 gzip
格式 gzip 选项 文件目录列表
功能 用Lempel-ziv编码压缩文件
选项 -c 压缩结果写入标准输出,原文件保持不变。缺省时gzip将原文件压缩为.gz文件,并删除原文件。

 

-v 输出处理信息。

-d 解压缩指定文件。

-t 测试压缩文件的完整性。

解释 值得一提的是,gzip比compress压缩更加有效。
实例 目的:压缩/mnt/lgx/a1.doc

 

命令:#gzip -v /mnt/lgx/a1.doc

结果:产生a1.doc.gz的压缩文件

命令 gunzip
格式 gunzip 选项 文件列表
功能 解压缩用gzip命令(以及compress和zip命令)压缩过的文件
选项 -c 将输出写入标准输出,原文件保持不变。缺省时,gunzip将压缩文件变成解压缩文件。

 

-l 列出压缩文件中的文件而不解压缩。

-r 递归解压缩,深入目录结构中,解压缩命令行变元所指定目录中的所有子目录内的文件。

实例 目的:解压缩/mnt/lgx/a1.doc.gz

 

命令:#gunzip /mnt/lgx/a1.doc.gz

命令 tar
格式 tar 选项 文件目录列表
功能 对文件目录进行打包备份
选项 -c 建立新的归档文件

 

-r 向归档文件末尾追加文件

-x 从归档文件中解出文件

-O 将文件解开到标准输出

-v 处理过程中输出相关信息

-f 对普通文件操作

-z 调用gzip来压缩归档文件,与-x联用时调用gzip完成解压缩

-Z 调用compress来压缩归档文件,与-x联用时调用compress完成解压缩

实例1 目的:用tar打包一个目录下的文件

 

命令:#tar -cvf /mnt/lgx/a1.doc

结果:产生一个以.tar为扩展名的打包文件

实例2 目的:用tar解开打包文件

 

命令:#tar -xvf /mnt/lgx/a1.doc.tar

附加说明:在通常情况下,tar打包与gzip(压缩)经常联合使用,效果更好。方法是:

首先用tar打包,如:#tar -cvf /mnt/lgx/a1.doc (产生a1.doc.tar文件)

然后用gzip压缩a1.doc.tar文件,如:#gzip /mnt/lgx/a1.doc.tar (产生a1.doc.tar.gz文件)

实例3 目的:解压a1.doc.tar.gz文件

 

方法1:

#gzip -dc /mnt/lgx/a1.doc.tar.gz (产生a1.doc.tar文件)

#tar -xvf /mnt/lgx/a1.doc.tar (产生a1.doc文件)

这两次命令也可使用管道功能,把两个命令合二为一:

#gzip -dc /mnt/lgx/a1.doc.tar.gz | tar -xvf

方法2:使用tar提供的自动调用gzip解压缩功能

#tar -xzvf /mnt/lgx/a1.doc.tar.gz

经过tar打包后,也可用compress命令压缩(注:gzip比compress压缩更加有效),产生一个以.tar.Z的文件,在解包时,可先用“uncompress 文件名”格式解压,然后用“tar -xvf 文件名”解包。也可直接调用“tar -Zxvf 文件名”解包。

(责任编辑 吴北 )

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理