在linux的文件系统中,我们经常会用到压缩和解压缩的结束,那么linux中其实支持了很多种不同的解压缩命令。每一种命令所用到的压缩技术都是不相同的。那么如何区分一个压缩文件用到的压缩技术呢,就是靠他们的文件的扩展名来辨认。
文件名 压缩命令
.Z compress
.gz gzip
.bz2 bzip2
.tar tar程序打包的文件但是没有被压缩过
.tar.gz
.tar.bz2
1、gzip, zcat
在用gzip命令进行压缩文件的时候,源文件就不在了,取而代之的是压缩之后的带有.gz扩展名的压缩文件。
zcat这个命令,在压缩的文件是文本文件的时候,可以用zcat这个命令来查看文件解压缩之后的内容。
而gzip -d才是真正的解压缩的命令。
2、bzip2. bzcat
这个压缩命令将提供更好的压缩比。并且加入很多方便的参数,比如保留源文件-k, 压缩参数-z, 解压参数-d
可以用bunzip2代替bzip2 -d来进行解压缩。
3、tar
tar是一个文件的打包命令。
上面的要压缩命令只能对一个文件进行压缩,即使是对一个目录也是分别对每一个文件进行压缩操作。
将很多文件打包成一个大文件的技术就需要tar来实行,并且还可以通过参数同时进行压缩这个打包之后的大文件,这样的文件在windows上也是可以解压缩的。而且在加和不加压缩参数的时候文件名最好不一样,默认的时候如果只是打包那么扩展名就为.tar
至于这个命令具体怎么用就不再过多赘述了,这时学习笔记,不是抄书。很多参数可以之后用到的时候man或者看书。
4、完整的备份工具dump
这个备份工具不但能够备份整个文件系统,还能够备份一个单一的目录,并且这个命令可以根据等级来进行备份操作。
dump一般都是用做备份整个的文件系统,如果只是想备份一个目录的话,会有一些额外的限制。
(1)所有要备份的数据都必须在这个文件夹下面
(2)仅仅能够支持0level等级的备份,即完全备份。
(3)不支持-u参数、
要使用bump备份一个文件系统的话,需要一下几个步骤
首先,用dump -S 分区名的方式测试出文件系统的备份需要多少硬盘空间
其次,进行备份操作并把这次dump的时间利用-u参数来写入到etc目录下相应的文件中。(要注意的是-u这个参数的功能只有在备份整个文件系统的时候才能够使用)
5、备份之后的恢复工具restore
dump可以用来恢复整个文件系统,并且还有一个特别的作用就是比较文件的差异,dump -c -f 备份文件名,就会把以前备份的文件和当前的文件系统进行比对,这样的话,就可以看到现在的文件系统和备份的那个文件系统的差别在哪里。dump是用来记录整个文件系统的,所以还原的时候也会有一个相应的全新的文件系统给他回复才行。
所以说,在进行文件系统恢复的时候可以创建一个新的文件系统,再把它恢复给那个需要恢复的。
并且在restore中还有一种互动模式,可以选择性的从备份的文件中找出要还原的来进行解压缩
6、光盘写入工具
mkiosfs这个命令将会把你指定的一些数据包括称为一个镜像文件。然后用cdrecord来把镜像文件刻录到光盘上。