Linux常用的压缩及解压缩命令如
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
1所示。
表1 Linux常用的压缩及解压缩命令说明
常用命令
简要中文说明
程序所在目录
gzip
压缩成文件名为 .gz 的压缩文件(也可用 –d 选项变成解压)
/bin
gunzip
将 .gz 压缩文件解压(可用 gzip 加 –d 参数代替)
/bin
tar
打包为 .tar 的打包文件或解开(也可配合 –z 选项呼叫 gzip进行 .gz 文件的压缩或解压)
/bin
compress
压缩成文件名为 .Z 的压缩文件(也可用 –d 选项变成解压)
/usr/bin
uncompress
将 .Z 压缩文件解压(可用compress加 –d 选项代替)
/usr/bin
zip
打包并压缩成文件名为 .zip 的文件(本身没有解压能力,一定要用unzip来解压才行)
/usr/bin
unzip
将 .zip 文件解压
/usr/bin
bzip2
压缩成文件名为 .bz2 的压缩文件(也可用 –d 选项变成解压)
/bin
bunzip2
将 .bz2 压缩文件解压(可用 bzip2 加 –d 选项代替)
/bin
gzip [-选项] [文件名]
压缩成文件名为 .gz 的压缩文件
如果您看到 .gz, .tar.gz 的文件,都是 gzip 程序压缩的杰作。
gzip 是 GNU 组织开发的一种压缩程序,跟 Windows 上的 ZIP 不太一样(稍后会介绍一个一样的)。
我们先介绍压缩的方法。当我们有一个文件叫做 big1.bmp,由于点阵图文件通常都很大,要用 gzip 压缩,命令要怎么下呢?
最简单的可以这样:
gzip big1.bmp
但是如果您希望它压出“最小的文件”,那么就加一个 -9 选项:
gzip -9 big1.bmp
当然,“最小的文件”的代价,就是花最久的时间压缩,如果您希望它在最快时间压缩好,而不计较压缩的比例,那就相反,加一个 -1 (注意,是数字,不是小写英文l)选项:
gzip -1 big1.bmp
而如果您没有加 -1也没有加 -9,它的默认相当于 -6。
另外常用的选项还有:
l -v 压缩过程当中显示进度。
l -r 将子目录中的文件全部压缩。
至于它还有解压缩的选项,我们刻意将它挪到下一个命令中gunzip 再说明。
------------------------------------------------------------------------------------------------------------
gunzip [-选项] [文件名.gz]
将 .gz 压缩文件解压
gunzip 命令与 gzip 命令相对,专门把 gzip 压缩的 .gz 文件解压缩。如果您有已经压缩过的文件,例如 big1.gz,这时就可以用解压缩:
gunzip big1.gz
这个命令也可以用 gzip 自己来完成,效果完全一样:
gzip -d big1.gz
其实在有些版本的Linux 上,gunzip是去调用 gzip,顺便帮您加上个 -d 选项罢了(用链接文件做的)!但是有些版本不是,是一个真的程序。不过无论 gunzip到底是一个实在的程序,还是仅是一个连接,都不重要了。因为 gzip 这个程序,本身可以负责压缩,也可以解压缩,一物两用。(不见得每种压缩和解压缩程序都是这样。)所以,如果您记得 -d 选项,就可以根本不用记 gunzip 这个命令了。
gunzip甚至还可以去解其他压缩程序如 Compress 或 ZIP 压缩出来的文件。不过我们不建议您这样做,这样会让您自己很乱。而且它自己也承认,用它来解 zip 的文件并不是每一种情形都能完成。所以既然如此,何必这样麻烦呢?哪一种工具就固定做什么用,不是比较有条理又好记吗?
gunzip 有几个选项较常使用:
l -f 当解压时如果遇到有同名的文件存在,就直接覆盖,不必再询问。
l -r 将子目录中的文件全部解压缩。
l -v 解压缩过程当中显示进度。
同样,这些选项也可以再加在 gzip -d 上,效果一样。
------------------------------------------------------------------------------------------------------------
tar [-选项] [打包文件名] [文件]
打包为 .tar 的打包文件或解开
如果您真的认真试过 gzip,或者您有使用 DOS, Windows的 ARJ, ZIP 一类程序的经验的话,就会发觉 gzip 有一个致命的缺点:它仅能压缩一个文件。即使针对子目录压缩,它也是针对子目录里的个别文件压缩,并没有把它们压成紧紧的一“包”。
于是在 Linux上,这个打“包”的任务习惯由 tar 程序来代劳。请注意,tar 并不是压缩程序,因为它打包之后的大小跟原来一样大。所以它不是压缩程序,而是打包程序。而我们习惯上会先打包,产生一个 .tar 文件,再把这个包裹拿去压缩。.tar.gz 的文件名就是这么来的。
也有人觉的 .tar.gz 这样的名称太长了,其实浓缩为 .tgz,意思也是一样的。
tar 的选项高达53个。(您用 man tar看就知道了)但是实用上没有那么多,而且同样几个每天重复使用。因此我们直接举例:
tar -cf new1.tar my1*.doc
把所有 my1*.doc 的文件打包成一个 new1.tar文件。其中,-c 是产生新文件;-f 是输出到默认的设备,您可以把它当做一定要加的选项就好。
tar -rf new1.tar my2*.doc
new1.tar 是一个已经存在的打包文件了。我们再把 my2*.doc 的所有文件也打包进去。-r 是再增加文件的意思。
tar -uf new1.tar my18.doc
方才 my1*.doc 已经打包进去了,但是其中的 my18.doc 后来又做了更改,我们把新改过的文件再重新打包进去,-u 是更新的意思。
说到这里,如果您是用过 ARJ 程序的人可能会嫌它有点笨。因为 ARJ 程序类似上述3个过程,都只要用一个 a 选项就都可以操作了,不是吗?如果您没用过 ARJ,就继续往下看。
tar -tf new1.tar
列出来 new1.tar 中有哪些文件被打包在里面。-t 是列出的意思。这个选项很像 ARJ 程序的 l 选项。
tar -xf new1.tar
把 new1.tar打包文件中的全部文件解出来,-x 是解开。
tar -xf new1.tar my2*.doc
只把 new1.tar打包文件中的所有 my2*.doc 文件解出来,-x 是解开。这个选项很像 ARJ 程序的 x 选项。
您注意到了吗?它也与 ARJ 程序很像,自己就可以负责打包,也可以负责解开,无需另外一个解压的程序。而它与ARJ的差别再强调一次,就是没有压缩能力!
但是,我可以向 gzip 程序借!就像便利店虽然没有面包房,还是可以代卖面包!对消费者来说,还是一样的嘛。-z 选项就是这个秘密进货管道!
tar -zcf new1.tar.gz my1*.doc
请注意这道命令与方才一道类似命令的不同之处。第一,加了 z 选项,它会向 gzip 借用压缩能力;第二,注意产生出来的文件名是 new1.tar.gz,两个过程,一次完成!
如果您想配合 Compress 程序(后面会介绍),压缩出另一种 .tar.Z 文件,那么只要把 -z 选项改为 -Z 选项就可以。
tar -Zcf new1.tar.Z my1*.doc
最后,我们再加一个选项-v,就是打包兼压缩或者解压的过程。因此,您最常看到的解压手续就是这样了(因为 Linux 上最常见的软件包装文件就是 .tar.gz 文件了):
tar -zxvf onepackage.tar.gz
如果是 .tgz 的文件名也是一样的,因为性质一样,只是文件名简单一点而已:
tar -zxvf onepackage.tgz
这个 -zxvf 的选项几乎可以是固定的,值得您背下来的。而这种文件当初是怎么生成的呢?可能是这样(您也可以背起来,以后就方便自己制造 .tar.gz 文件了):
tar -zcvf onepackage.tar.gz *.*
或者
tar -zcvf onepackage.tgz *.*
------------------------------------------------------------------------------------------------------------
compress [-选项] [文件名]
压缩成文件名为 .Z 的压缩文件
compress 跟 gzip 很近似,是一个压缩兼解压缩工具。如果您看到 .Z 、.tar.Z 的文件,都是compress 程序压缩的杰作。
我们先介绍压缩的方法。假设我们有一个字形文件叫做 taipei24.pcf ,字形文件通常都很大,要用 compress 压缩,命令要怎么下呢?
最简单的是这样:
compress taipei24.pcf
它就会产生一个 taipei24.pcf.Z 的压缩文件。
另外常用的选项还有:
l -v 压缩过程当中显示进度和比例。
至于它还有解压缩的选项,我们刻意将它挪到下一个命令uncompress中再说明。
练习:
(1)用gzip 和用 compress 压缩同样一个文件,哪一种的压缩效果比较好?
(2)要把所有 a*.pcf 的文件经过 tar 命令打包,再经过 compress 压缩而变成一个 afont.tar.Z 的文件,需要哪些命令?
继续阅读