Linux档案与文件系统的压缩与打包指令

1.文件压缩的原理:目前,计算机系统中都是使用bytes单位来计量的,不过,事实上,计算机最小的计量单位应该是bits才对,此外,我们也知道1byte=8bits。即每个byte当中会有8个空格,而每个空格可以是0或1,所以,如果我们要记录1这个数字,那么就会将另外的7个空格浪费掉。而压缩技术就是通过一些算法,将这些没有使用的控件丢出来,以让档案占用的空间变小。另一种压缩技术将重复的数据进行统计记录。比如,1111……1共100个1时,压缩技术就会记录为100个1,而不是实际存储100个1。

2.文件后缀与压缩方式:

1)*.Z:compress程序压缩的档案

2)*.gz:gzip程序压缩过的档案

3)*.bz2:bzip2程序压缩的档案

4)*.tar:tar程序打包的数据,并没有压缩过。

5)*.tar.gz:tar程序打包的档案,并且经过gzip压缩过

6)*.tar.bz2:tar程序打包的档案,并且经过bzip2的压缩

3.linux上常见的压缩指令就是gzip与bzip2,至于compress已经退出流行了。gzip是由GNU计划所开发出来的指令,该指令已经取代了compre。后来GNU又开发出bzip2这个压缩比更好的压缩指令。不过,这些指令通常仅能针对一个档案压缩与解压缩,如此一来,每次压缩与解压缩都要一大堆档案。因此,可以用tar进行打包。tar将很多档案打包成一个档案,甚至是目录。单纯的tar只是打包的功能。

4.compress  [-rcv] 档案或目录:非常老的指令,需要安装ncompress软件。gzip可以解开这个指令压缩的档案。

1)-r:可以连同目录下的档案同时压缩

2)-c:将压缩数据输出到屏幕,可以通过>filename 另存到指定的档案,源文件依然存在

3)-v:可以显示出压缩后的档案信息以及压缩过的一些档案名变化

在预设情况下,源文件会被压缩文件替换掉。

uncompress  档案.Z:解压文件,解压后会去掉后缀,还原成源文件。

5.gzip  [-cdtv#] 档名;zcat  档名.gz:压缩解压缩档案,参数:

1)-c:将压缩的数据显示到屏幕上,可透过数据流导向来处理

2)-d:加压缩的参数

3)-t:可以用来检验一个压缩文件的一致性,看档案有无错误

4)-v:可以显示出原档案/压缩文件的压缩比等信息

5)-#:压缩等级,-1最快,但压缩比最差,-9最慢,但压缩比最好,预设是-6,在#处输入数字

该指令在预设情况下会将档案压缩成后缀为.gz的档案名,源文件就不再存在了。另外该指令压缩的文件也可以被windos下的winrar软件解压。

zcat这个指令可以读取gzip压缩后的文件

6.bzip2  [-cdkzv#] 档名,bzcat  档名.bz2:提供比gzip更好的压缩方案,参数:

1)-c:将压缩的过程产生的数据输出到屏幕上

2)-d:解压缩的参数

3)-k:保留源文件,而不会删除原始档案

4)-z:压缩的参数

5)-v:可以显示出原档案/压缩文件案的压缩比等信息

6)-#:与gzip同样的,都是在计算压缩比参数,-9最佳,-1最快

bzcat:同样可以读取压缩过的文件

7.tar  [-jz] [cv] [-f 建立的档名] filename:打包并压缩

tar  [-jz] [tv] [-f 建立的档名] :查看档名

tar  [-jz] [xv] [-f 建立的档名] [-C 目录] :解压缩

参数:

1)-c:建立打包档案,可搭配-v来擦看过程中被打包的档名

2)-t:查看打包档案的内容还有哪些档名

3)-x:解包或解压缩的功能,可以搭配-C在特定目录下解开

特别注意:-c,-t,-x不能同时出现在一条指令中

4)-j:透过bzip2的支持进行压缩/解压缩:此时档案名最后为*.tar.bz2

5)-z:透过gzip的支持进行压缩/解压缩:此时档名最好为tar.gz

6)-v:在压缩/解压缩的过程中,将正在处理的文件名显示出来

7)-f filename:-f后面要立刻接要被处理的档名

8)-C目录:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项

9)-p:保留备份数据的原本权限与属性,常用于备份重要的配置文件

10)-P:保留绝对路径,亦即允许备份数据中含有根目录存在之意

11)--exclude=FILE:在压缩过程中,不要讲FILE打包。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/17106.html