一般情况下Linux系统中我们常用到的压缩文件的种类大致为.zip,.gz和 .tar,那我们先就来介绍一下最常见的.zip文件的压缩解压命令。
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(CarriageReturn)LF(LineFeed)转换成LF,一般是要将MS-DOS上的文本文件压缩后拿到UNIX下使用时才使用此参数。这只适用于文本文件(.txt),如果用于二进制文件则会造成二进制文件损毁。
-L:显示zip命令的版权。
-m:将特定文件移入zip文件中,并且删除特定文件。
-n:不压缩特定扩展名的文件。
-o:将zip文件的时间设成最后修正zip文件的时间。
-q:安静模式,不会显示相关讯息和提示。
-r:包括子目录。
-t:只处理mmddyy日期以后的文件。
-T:测试zip文件是否正常。
-u:只更新改变过的文件和新文件。
-v:显示版本资讯或详细讯息。
-x:不需要压缩的文件。
-y:将symboliclink压缩,而不是压缩所连结到的文件。
-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的一些常用法:
luna:~/tarcvffilesname.tar<-将所有文件包装成filesname.tar,注意扩展名.tar自行加上。
luna:~/tarcvzffilesname.tar.gz<-将所有文件包装成filesname.tar,再用gzip压缩。
luna:~/tartvffilesname.tar<-检查filesname.tar文件中包括了哪些文件。
luna:~/tarxvffilesname.tar<-将filesname.tar解开。
KDE的archiver
KDE的archiver就像MS-wondows的winzip,也能把zip、gzip、tar、tar.gz等的压缩文件解开。