`
strugman
  • 浏览: 21223 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

linux档案的压缩与打包

阅读更多
Linux 压缩档案的附档名
  如果您常常在网路上面捉 Linux 的资料下来玩的话,大概会晓得的是,这些供人下载的档案通常都是『压缩』过的!为了什么?上面已经稍微提过啦!呵呵!压缩过的档案具有节省频宽、节省磁碟空间等等的优点,并且还方便携带呢! ^_^ !而,您应该也会知道,这些被压缩过的档案,通常其附档名都是『 *.tar, *.tar.gz, *.tgz, *.gz, *.Z, *.bz2 』等等的,为什么要订定这些压缩档案附档名为这样的模样呢?这是因为在 Linux 上面压缩的指令相当的多,并且,这些压缩指令可能无法针对每种压缩档案都可以解的开,毕竟目前的压缩技术五花八门,每种压缩计算的方法都不是完全相同的,所以啰,当你捉到某个压缩档时,自然就需要知道压缩他的是那个指令啦,好用来对照着解压缩啊! ^_^!也就是说,虽然 Linux 档案的属性基本上是与档名没有绝对关系的,能不能执行与他的档案属性有关而已,与档名的关系很小!但是,为了帮助我们小小的人类脑袋瓜子,所以适当的档案名称附档名还是必要的!因此,目前就有一些常常见到的压缩档案的附档名啦!我们仅列出常见的几样在底下,给大家权做参考之用:
  · *.Z compress 程式压缩的档案;
  · *.bz2 bzip2 程式压缩的档案;
  · *.gz gzip 程式压缩的档案;
  · *.tar tar 程式打包的资料,并没有压缩过;
  · *.tar.gz tar 程式打包的档案,其中并且经过 gzip 的压缩!
  目前常见的压缩程式主要就是如同上面提到的附档名对应的那些指令啦!最早期的要算是 compress 这个家伙了,而后,后来的 GNU 计画开发出新一代的压缩指令 gzip ( GNU zip ) 用来取代 compress 这个老牌的压缩指令,再来还有 bzip2 这个压缩比更好的压缩指令呢!不过,这些指令通常仅能针对一个档案来压缩与解压缩,如此一来,每次压缩与解压缩都要一大堆档案,岂不烦人?,此时,那个所谓的『打包软体』就显的很重要啦!在 Unix-Like 当中,有个软体很好玩,他就是 tar 这支程式!这个 tar 可以将很多档案『打包』成为一个档案!甚至是目录也可以这么玩。不过,单纯的 tar 功能仅是『打包』而已,亦即是将很多档案集结成为一个档案,事实上,他并没有提供压缩的功能,后来, GNU 计画中,将整个 tar 与压缩的功能结合在一起,如此一来提供使用者更方便并且更强大的压缩与打包功能!  
  底下我们就来谈一谈这些在 Linux 底下基本的压缩指令吧!
  · compress:
  语法:
  [root @test /root ]# compress [-d] filename 参数说明: -d :解压缩的参数! 范例: 先 copy /etc/man.config 到 root 底下,再将他压缩看看 [root @test /root]# cp /etc/man.config /root [root @test /root]# compress man.config [root @test /root]# compress -d man.config.Z [root @test /root]# uncompress man.config.Z
  ·这是用来压缩与解压缩附档名为 *.Z 的指令!所以看到 *.Z 的档案时,就应该要知道他是经由 compress 这个程式压缩的呦!这是最简单的压缩指令啰!不过,使用的时候需要特别留意的是,当你以 compress 压缩之后,如果没有下达其他的参数,那么原本的档案就会被后来的 *.Z 所取代!以上面的案例来说明:原本压缩的档案为 man.config ,那么当压缩完成之后,将只会剩下 man.config.Z 这个经过压缩的档案啰!那么解压缩呢?呵呵,则是将 man.config.Z 解压缩成 man.config !使用上很简单啦!解压缩除了可以使用 compress –d 这个参数之外,也可以直接使用 uncompress !意思相同啦!
  ·
  ·gzip, zcat:
  语法:
  [root @test /root ]# gzip [-d#] filename <==压缩与解压缩 [root @test /root ]# zcat filename.gz <==读取压缩档内容 参数说明: -d :解压缩的参数! -# :压缩等级, 1 最不好, 9 最好, 6 是预设值! 范例: [root @test /root]# gzip man.config 会产生 man.config.gz 这个档案 [root @test /root]# zcat man.config.gz 会读取出 man.config 的内容 [root @test /root]# gzip -d man.config.gz [root @test /root]# gunzip man.config.gz 解压缩,产生 man.config 这个档案 [root @test /root]# gzip -9 man.config 以最大压缩比压缩 testing 这个档案!
  ·gzip 是用来压缩与解压缩附档名为 *.gz 的指令!所以看到 *.gz 的档案时,就应该要知道他是经由 gzip 这个程式压缩的呦!另外, gzip 也提供 压缩比的服务! -1 是最差的压缩比,但是压缩速度最快,而 -9 虽然可以达到较佳的压缩比(经过压缩之后,档案比较小一些!),但是却会损失一些速度!预设是 -6 这个数值! gzip 也是相当常使用的一个压缩指令呢!至于 zcat 则是用来读取压缩档资料内容的指令!假如我们刚刚压缩的档案是一个文字档,那么你还记得如何读取文字档吗?!没错!就是使用 cat ,那么读取压缩档呢?呵呵!就是使用 zcat 啰!由于 gzip 这个压缩指令主要想要用来取代 compress 的,所以 compress 的压缩档案也可以使用 gzip 来解开喔!同时, zcat 这个指令可以同时读取 compress 与 gzip 的压缩档呦!
  ·
  · bzip2, bzcat:
  语法:
  [root @test root]# bzip2 [-dz] filename <==压缩解压缩指令 [root @test root]# bzcat filename.bz2 <==读取压缩档内容指令 参数说明: -d :解压缩的意思! -z :压缩的意思! 范例: 同样的,我们以刚刚拷贝过来的 /root/man.config 这个档案为例 [root @test root]# bzip2 –z man.config [root @test root]# bzcat man.config.bz2 [root @test root]# bzip2 –d man.config.bz2 [root @test root]# bunzip2 man.config.bz2
  ·刚刚的 compress 附档名自动建立为 .Z ,这里的 bzip2 则是自动的将附档名建置为 .bz2 啰!所以当我们使用具有压缩功能的 bzip2 –z 时,那么刚刚的 man.config 就会自动的变成了 man.config.bz2 这个档名啰!好了,那么如果我想要读取这个档案的内容呢?是否一定要解开?当然不需要啰

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics