Linux基础知识 ·

Linux文件与文件系统的压缩与打包

[隐藏]

我们知道电子设备能够识别的是电磁信号,而我们是用电磁脉冲的开与短来表示1与0,所以对电子设备而言,一切的最终数据不过是二进制的信号而已,因此,我们的任何数据最终都需要转换为二进制数据,而利用一些算法,把重合的数据标记起来,只用重复一次的,就是所谓的压缩技术了。而因算法不同,其能够标记剔除的数据各不相同,也就造就了不同的压缩工具。

将不同文件聚合为一个文件的技术,我们就称为打包,当然打包与压缩的前提是能够还原数据,目前的技术已经能够比较成熟的无损打包与压缩了,但是在较高的压缩比之下,数据还是会有损坏的可能。

compress

compress 是一款很老的压缩工具了,目前也只有一些非常老旧的环境还会使用,并且现在的gzip工具也可以接开compress了,因此这款软件只做介绍了解。(“.Z后缀”)

compress 选项 参数   压缩文件

常用选项:

-r:递归压缩。

-c:将压缩数据发送的屏幕。

-v:显示过程与压缩后的文件信息。


uncompress 文件.Z  解压缩文件

 

gzip、zcat

gzip应该是目前使用最为广泛的压缩工具,目前gzip可以解开compress、zip与gzip等软件所压缩的文件,甚至可以Windows中被WinRAR解压。gzip压缩的文件后缀为“.gz”。(gzip压缩默认不保留原文件)

gizp 选项 文件   压缩文件

常用选项:

-c:压缩数据输出到屏幕,原文件不变,可通过数据重定向处理。

-d:解压缩文件。

-t:检查压缩文件一致性,查看文件是否有错误。

-v:显示原文件/压缩文件的压缩比等信息。

-r:递归压缩。

-#:压缩等级(#=1-9),1最快,压缩比最高,9最慢,压缩比最高,默认6。


zcat 文件.gz  读取压缩文件至标准输出。

常用选项:

-r:递归。

bzip2、bzcat

若说gzip是替代compress,那么bizp2就是为了取代gzip而来,其压缩比能够比gzip更高,用法组gzip几乎相同。(bzip压缩默认不保留原文件)

bzip2 选项 文件  创建压缩文件

常用选项;

-c:压缩数据输出到屏幕,原文件不变,可通过数据重定向处理。

-d:解压缩文件。

-z:-d 选项的补充:强制进行压缩操作,而不管执行的是哪个程序。

-k:保留原文件。

-v:显示原文件/压缩文件的压缩比等信息。

-#:压缩等级(#=1-9),1最快,压缩比最高,9最慢,压缩比最高,默认6。


bzcat 文件.bz2   读取压缩文件至标准输出。

 

tar

大多压缩工具只能针对单个文件进行压缩处理,虽然gzip与bzip2可以针对目录操作,不过也是讲目录内的文件“分别”进行压缩。而tar就是专门用来针对多个文件或目录进行打包归档为一个文件的工具,并且打包后还可以用压缩工具进行压缩处理。

tar

常用选项:

-c:新建打包文件,可搭配-v 查看过程。

-t:查看打包文件包含的文件名。

-x:解包或解压缩,可搭配-C(大写)解压至特定目录。

-j:通过bzip2压缩/解压缩包,*.tar.bz2

-z:通过gzip压缩/解压缩包,*.tar.gz

-v:显示过程。

-f filename:接新建文件名

-C(大写) 目录:解压缩时,指定目录。

-p:保留原文件属性(如权限、时间戳)。

-P(大写):保留绝对路径(备份中保留根目录,还原时会按绝对路径还原,易造成覆盖)。

--exclude=FILE:压缩时,排除FILE文件。

dump

dump功能很强,可以针对文件系统备份,也可以针对目录备份

针对文件系统时可以定制等级备份(0-9),0级时为完整备份,可指定挂载点或设备名称进行备份,1级时会进行与0级时备份的文件比对,只备份有变化的文件,其他等级同理比对后进行备份。

针对目录而非独立的文件系统时,只能进行0级完整备份,并且不支持-u 参数,即无法创建/etc/dumpdates 这个level备份的时间记录文件。

dump

常用参数:

-S(大写):仅列出欲备份数据所需磁盘空间。

-u:将这次dump的时间记录到/etc/dumpdates文件中。

-v:将dump的文件过程显示出来。

-j:备份中bzip2进行压缩,默认bzip2压缩等级为2。

-level:dump等级 0-9。

-f:备份文件名。

-W:列出在/etc/fstab 里具有dump 设置的分区是否备份过。

restore

restore

常用选项:

-t:查看备份文件中文件名。

-C:将dump备份内的数据与实际文件系统作比较。

-i:交互式,用于dump目录时,还原部分文件。

-r:还原文件系统。

-h:查看完整备份数据中的iNode 与文件系统 label 等信息。

-f:指定要处理的dump文件。

-D:可与-C搭配,比对文件系统与dump文件内不同的文件。

mkisofs

新建ISO镜像文件

mkisofs -o 镜像文件 待备份文件

常用选项:

-o:要生成的镜像文件名。

-r:通过Rock Ridgr 产生支持 UNIX/Linux 的文件数据,可记录较多信息。

-v:显示过程。

-m FILE:要排除文件。

-V vol:新建Volume。

-graft-opint: graft 有转嫁或移植的意思,可定向文件于镜像中位置,具体用法查看man手册。


cdrecord / wodim 光盘刻录工具

 

cpio

cpio可以备份任何东西,包括设备文件,但是cpio不能主动找到文件来备份,因此需要通过重定向或配合其他命令。

cpio

常用选项:

-o:将数据输出至文件或设备。

-B:让默认blocks增加至5120bytes,默认512bytes。

-i:还原数据到系统。

-d:还原时自动新建目录。

-u:自动以新文件覆盖旧文件。

-t:配合-i ,可以查看以cpio 新建的文件或设备内容。

-v:显示过程。磁盘管理

参与评论