2008-11-11 15:40

Linux系统下文件的压缩、打包与解开介绍

处理 .zip 文件的 zip 和 unzip

zip和unzip程序位于/usr/bin目录中,它们和MS - DOS下的pkzip、pkunzip以及MS-windows的Winzip软件功能一样、可将文件压缩成.zip文件以节省硬盘空间,而当需要的时候再将压缩文件解开。

压缩文件的zip命令

zip可用来压缩文件,如果我们有许多文件需要做压缩,甚至可以将它们一并处理并压缩成一个文件。以下是zip的语法以及可用的参数介绍:

其实zip最常用的方法是在后面加上压缩后的文件名,以及要压缩的文件即可。

因为zip命令在许多OS平台都有,而且参数相当多,在此我只介绍一些Linux上适用的参数:

-1 : 最快压缩,压缩率最差。

-9 : 最大压缩,压缩率最佳。

-b : 暂存文件的路径。这个参数一般在要产生的 zip 文件存在,而硬盘现有空间不足时。

-c : 替新增或更新的文件增加一行注解。

-d : 从 zip 文件移出一个文件。

-D : 不要在 zip 文件中储存文件的目录信息。

-f : 以新文件取代现有文件。

-F : 修复已经损毁的压缩文件。

-g : 将文件压缩附加到 zip 文件中。

-h : 显示辅助说明。

-i : 指定要含入的某些特定文件。

-j : 只储存文件的名称,不含目录。

-k : 强迫使用 MSDOS 格式文件名。

-l : 将 CR ( Carriage Return ) LF ( Line Feed ) 转换成 LF,一般是要将 MS-DOS 上的文本文件压缩后拿到 UNIX 下使用时才使用此参数。这只适用于文本文件 ( .txt ),如果用于二进制文件则会造成二进制文件损毁。

-L : 显示 zip 命令的版权。

-m : 将特定文件移入 zip 文件中,并且删除特定文件。

-n : 不压缩特定扩展名的文件。

-o : 将 zip 文件的时间设成最后修正 zip 文件的时间。

-q : 安静模式,不会显示相关讯息和提示。

-r : 包括子目录。

-t : 只处理 mmddyy 日期以后的文件。

-T : 测试 zip 文件是否正常。

-u : 只更新改变过的文件和新文件。

-v : 显示版本资讯或详细讯息。

-x : 不需要压缩的文件。

-y : 将 symbolic link 压缩,而不是压缩所连结到的文件。

-z : 为 zip 文件增加注解。

-# : 设定压缩速度,-0 表示不压缩,-1 表示最快速度的压缩,

-9 表示最慢速度的压缩 ( 最佳化的压缩 ),预设值为 -6。

-@ : 从标准输入读取文件名称。

解开压缩文件的 unzip 命令

unzip 命令用于解开 .zip 文件,unzip 命令的语法和 zip 类似,参数在这里就不一一赘述了。

打包文件的 tar

tar程序位于/usr/bin目录中,一般UNIX上常用的压缩方式是先用tar将许多文件(可能含有子目录)打包成一个文件(gzip、compess 只能压缩一个文件),以gzip第2次压缩成xxx.tar.gz(或称为xxx.tgz)的文件。

因为 tar 参数繁多,我先介绍 tar 的常用法 :

paul:~/tar cvf filesname.tar <-将所有文件包装成filesname.tar,注意扩展名 .tar自行加上。

paul : ~/tar cvzf filesname.tar.gz <- 将所有文件包装成 filesname.tar,再用 gzip 压缩。

paul : ~/tar tvf filesname.tar <- 检查 filesname.tar 文件中包括了哪些文件。

paul : ~/tar xvf filesname.tar <- 将 filesname.tar 解开。

KDE 的 archiver

KDE的archiver 就像 MS-wondows 的 winzip,也能把 zip、gzip、tar、tar.gz 等的压缩文件解开。

来源:赛迪网

相关

测试
本评论 更新于:2025-12-13 15:12:49
在C114 APP中与业内人士畅聊通信行业热点话题!