鸟哥linux——文件与文件系统的压缩,打包和备份

Posted 青山新雨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了鸟哥linux——文件与文件系统的压缩,打包和备份相关的知识,希望对你有一定的参考价值。

先说明一下压缩技术:

由于我们记录1,在字节中占据的是最右边的1,而其他7位为0.而工程师们利用复杂的算法,将这些7个0位"丢"出来换成了更有用的信息去占领。这就是压缩技术了。

另一种压缩技术是消除连续重复的数据,比如你有一个111...这样100个1,这种压缩直接把它表示为100个1这样的表示方法,而不是真的在内存中存在100个1的字节。

linux系统常用的压缩指令:

注意:linux的扩展名通常是没有什么用的。但是,一般压缩文件是需要扩展名的。

为什么linux的压缩文件需要扩展昵?因为,linux系统的压缩技术非常多,然而各个技术之间只能对自己压缩的文件进行解压,所以如果没有扩展名,就不知道这个文件到底是由那个技术压缩的。

 

需要一个插图:p420

 

注意:一般的压缩命令只能对一个文件进行压缩,但是tar可以对多个文件进行压缩,甚至是目录。

1.gzip指令:

  在默认状态下原本的:文件会被压缩成.gz的文件名。目前gzip可以解开zip,compress和gzip等软件所压缩的文件。

2.bzip2指令:

  :它的使用基本上和gzip一样

样例一:将文件a以bzip2压缩
bzip2 -v   a
然后通过 ls  -l  a*就可以看到a.bz2文件了
样例二:将刚刚压缩的文件内容读出来
bzcat  a.bz2
样例三:将压缩文件进行解压
bzip2    -d    a.bz2
其实bzip2最大的优势就是它的压缩比非常好

3.xz指令:

  用法与gzip一样,但是压缩比比bzip2还要好。但是,它花费的时间会非常长,所以,我们一般使用bzip2比较好。

4.打包指令:tar

  以上的3个指令都可以对目录进行压缩,但是都是对这个目录下的文件进行分别压缩,生成的是很多压缩文件,而不是一个。但是tar文件却是生成一个压缩文件。

样例一:打包整个/etc文件
 time     tar     -zpcv    -f    /root/etc.tar.gz    /etc

注意:学习一下tar怎么解压单一的文件。

 

 

 

XFS文件系统的备份和还原

使用tar通常是针对目录树系统来进行备份的,但是对于整个文件系统进行储备和还原。就要用到sfddump和xfsrestore这两个工具了。

特别注意:xfsdump文件只支持文件系统的备份,并且不支持特定目录的备份,所以,你不能用它去备份/etc文件。因为,/etc不是一个完整的系统文件。

注意:xfsdump文件还可以进行累积备份。但是,你首先必须首先先备份一份,才可以后面的累积备份。累积备份,就像游戏,每次到一个关键的游戏点,备份一下你的游戏进度。避免,你在某进度上死掉之后,从新开始游戏。

xfsrestore是xfsdump的还原指令了。

 

其他常见的压缩与备份工具:

1.dd工具

  dd可以进行压缩和备份功能,它可以读取磁盘设备的内容,然后将整个设备备份成一个文件。但是dd是没有分辩的去备份,比如它备份磁盘,他会把整个磁盘备份,也不管里面哪些有用哪些无用。

 

以上是关于鸟哥linux——文件与文件系统的压缩,打包和备份的主要内容,如果未能解决你的问题,请参考以下文章

鸟哥的linux私房菜 第三版 基础篇 part3

鸟哥的Linux私房菜——第十二章:档案的压缩与打包

Linux文件系统的压缩与打包

第九章文件与文件系统的压缩与打包

如何将Linux系统的多个目录及文件备份并压缩到一个文件,以方面保持和传递?

15Linux文档的压缩与打包