压缩:
比较大的文件档案,透过压缩技术后, 可以将他的磁盘容量降低,
此外有的压缩技术还可以进行容量限制,使一个大型档案可以分割
成为数个小型档案,方便携带。
压缩技术除了使我们的磁盘可以容纳更多的容量,在一些网络数据
传输中, 也会由于数据量的降低,烧伤网络带宽可以做更多的工作。
www网站压缩技术, 你在网站上看到的数据在经过网络传输时,使用的
是压缩过的数据,等到压缩过的额数据到达你的计算机时,再进行解压缩。
由于目前计算机指令周期相当的快,因此其实在网页浏览是,时间花在
数据的传输上, 而不是cpu的运算。
原理:
计算机最小的计算单位是bit,1这数字如何保存呢?1会在最右边占据
1个bit,如果计算机里整数是4个字节表示,则其他31个bits将会自动填上0.
压缩技术,是把这些没有使用的空间“丢”出来,以让档案占用的空间变小。
这就是压缩技术。
另外一种压缩技术也很有趣, 他是将重复的数据进行统计记录的。举例,
如果你的数据位1111.。。共有100个1时, 那么压缩技术会记录为100个1.
而不是真的有100个1位存在。
解压缩:
压缩后的档案无法之金额被我们的系统所使用, 因此要将它还原过来,
就是所谓的解压缩。
linux常见的压缩指令:
Linux支持的压缩指令非常多,且使用的技术不同,彼此直接可能无法互通压缩
和解压缩文件。当下载到某个压缩文件时,自然就需要知道该档案由哪种压缩
指令制作出来的。所以适当的扩展名是必要的,来帮助我们识别压缩技术。
*.Z compress程序压缩的档案
*.gz gzip程序压缩的档案
*.bz2 bzip2程序压缩的档案
*.tar tar程序打包的数据,并没有压缩过
*.tar.gz tar程序打包的档案, 其中并且经过gzip的压缩
*.tar.bz2 tar程序打包的档案, 其中并且经过bzip2的压缩
linxu上厂家爱你的压缩质量就是gzip与bzip2,compress已经推出流行了。
gziP是GNU计划所开发出来的压缩指令,该指令已经取代了compress.
gzip已经可以解开使用compress压缩的档案。
后来又开发出bzip2这个压缩比更好的压缩质量
这些指令通常金正针对一个 档案来压缩和解压缩。
这样每次压缩与解压缩都要一堆档案,tar可以将很多档案打包成一个档案(目录)。
单纯的tar只是打包而已。
gzip:
//-v可以显示出原档案/压缩文件的压缩比信息
gzip - v man.conf
//gzip 文件名, 源文件会不见。
gzip man.conf
//保留原本的档案,-c讲压缩的数据输出到屏幕上, 可透过数据流重导向来处理:
gzip -c net3-dhcplease.conf > net3-dhcplease.conf.gz
//解压缩,gzip -d会将原本的.gz删除,产生原本的文件
gzip -d man.config.gz
bzip2是比gzip压缩比更好的,用法几乎与gzip相同。
//-z表示压缩,man.config会变为man.config.bz2
bzip2 -z man.config
//bzcat 将压缩档案的内容读出来
bzcat man.config.bz2
//-d解压缩
bzip2 -d man.config.bz2
//保留原本的文档, 压缩
bzip2 -c man.config>man.config.bz2
tar
tar的参数介绍:
-j:透过bizp2的支持进行压缩和解压缩,档案名最好为*.tar.bz2
-z:透过gzip的支持进行压缩和压缩,档案名最好为*.tar.gz
-v: 在压缩/解压缩的过程中, 将正在处理的文件名显示出来。
-c: 建立打包档案,可搭配-v来查看过程总被打包的文件名
-x: 解压包或解压缩的功能,可以搭-C(大写)在特定的目录解开。
-f fielname 后面要立刻接要被处理的档名
压缩:
tar -jcv -f filename.tar.bz2 要被压缩的档案或目录名称
解压缩:
tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录
filename.tar.bz2使我们自己去取的档名, tar不会主动的建立档名。
扩展名就很重要了:
不加【-j|-z】,档案名最好取为*.tar即可。
如果是-j选项,档名最好取为*.tar.bz2
如果是-z选项,档名最好取为*.tar.gz
另外-f filename 是紧接一起的。 -jcvf filename是对的,-jvfc filename 就不对。