1、压缩文件案的用途与技术
a、用途,简单来说,就是节约磁盘空间。如果从传输角度讲,占用宽带也会小很多(Apache就有自动压缩的功能,节省宽带资源,提升网站的输出能力)
b、压缩技术,总体来讲有两个方案,第一个:填充法,比如数字1,在机器码中是 00000001 前面几位都是空的,所谓填充法就是用一些特别的方法把这些空的都利用起来,从而达到,降低占用的磁盘空间。
第二种是,统计重复记录,举例来讲,我的数据中有100个1(11111.....),压缩技术就把这些写成 100个1(100个1),不是真的100个1,一种统计基数的结果展示,从而达到压缩的目的
2、Linux系统常见的压缩指令:
*.Z compress程序压缩的档案,基本已经歇菜,被gzip替代
*.gz gzip程序压缩的档案
*.bz2 bzip2程序压缩的档案
*.tar tar程序打包的数据,并没有压缩
*.tar.gz tar程序打包,并gz压缩
*.tar.bz2 tar 程序打包的档案 并 bz2压缩
3、详细指令介绍
1、compress 略 (uncompress 解压缩)
2、gzip zcat
a、这基本是应用最广泛的压缩了,zcat是用来 看被压缩的档案的
b、解压缩命令是 gzip -d 或者 gunzip
3、bzip2 bzcat (这种压缩起的名字 有种 超过gzip的赶脚)
a、bzcat自然也是用来看 压缩的档案
b、解压缩命令亦是 bzip2 -d 或者 bunzip2
4、tar 打包 这个很重要
为啥重要,因为文件夹,在windows下很容易压缩,命令和单个一样的,但是在linux,上面说的那些,无论是gzip还是bzip2的压缩,都只能针对文件,及时针对文件夹(gzip XX/*) 也是对文件夹下每一个文件进行压缩,所以,tar来了,拯救来了
tar类似于winRAR 将文件夹 打包成一个文件。
而后缀名为:tar.gz 表示的就是 先用了 tar打包,再使用gzip进行压缩
tar命令比较重要,所以把一些指令列出来下,方便日后查询复习:
-c 建立打包档案,可搭配-v来观察打包过程中被打包的档案名
-t 查看打包档案中的内容含有哪些档案名,重点是查看
-x 解打包或解压缩的功能,可以搭配 -C(大写) 解压缩到指定目录
-j 解压后缀为,tar.bz2 或者进行bzip2压缩 (主要看有没有-c) 即,解压打包并透过bzip2压缩的文件 或压缩成 tar.bz2
-z 解压后缀为,tar.gz 或者进行gzip压缩,即,解压打包并透过bzip2压缩的文件 或压缩成 tar.gz
-f 后面要跟立刻处理的文件 建议 单独写
例子:压缩 tar -jcv -f xxx.txt
查看 tar -jtv -f xxx.tar.gz
解压缩 tar -jxv -f xxx.tar.bz2 -C /tmp/xx
看出来了吧,区别就是 c t x 这三个不能并存
5、仅解压一个文件 ,tar -jtv -f xxx.tar.bz2|grep 'shadow'
先找下,具体的文档名,比如:etc/shadow
然后再 tar -jxv -f xxx.tar.bz2 etc/shadow 这样就只会解压一个!
6、打包某目录,但不含该目录下的某些档案
直接上代码 tar -cjv -f /root/sys
7、强大的备份命令 dump
a、除了可以备份整个文件系统外,还可以制定等级
备份完整文件系统,dump -S /dev/hdc1 ##查看备份需要多少容量
dump -0u -f /root/boot.dump/boot
b、dump来备份非文件系统,亦单一目录的方法 -u 只能用level 0
dump -0j -f /root/etc.dump.bz2 /etc/
8、restore
备份文件就是在急用时可以回复系统的重要数据,所以有备份就得学学如何复原了
restore -t [-f dumpfile] [-h] <==用来观察看dump档案
restore -C [-f dumpfile] [-D 挂载点] <==比较dump 与实际档案
restore -i [-f dumpfile] <== 进入互动模式
restore -r [-f dumpfile] <== 还原整个文件系统
9、mkisofs 建立映像档
10、dd 可以用来装置挂载时使用,但也可以用来备份,dd可以读取磁盘装置的内容,几乎是直接读取扇区
11、cpio 可以用来备份任何东西,包括装置设备档案,但是它不会自己去找,所以一般和find 配合着来使用
cpio -ovcB > [file|device] <== 备份
cpio -ivcdu > [file|device] <== 还原
cpio -ivct > [file|device] <== 察看
find /svc -name wmy |cpio -ocvB > /tmp/boot.cpoi
重点回顾
·压缩指令为透过一些运算方法将原本的档案进行压缩的技术,以减少档案所占用的磁盘容量。压缩前与压缩后的档案所占用的磁盘容量比值,就可以被称为是【压缩比】
·压缩的好处是可以减少磁盘容量的浪费,在web网站也可以利用压缩技术来进行数据的传送,好让网站宽带的可利用率上升
·压缩文件案的扩展名大多是: *.tar *.gz *.bz2 *.tar.gz *.tar.bz2 *.Z
·常见的压缩指令有gzip 与bzip2 其中bzip2压缩比gzip还要好,建议用它
·tar 可以用来进行档案打包,并可支持gzip或bzip2 的压缩
·压缩 tar -jcv -f file
·解压缩 tar -jxv -f file.tar.bz2 -C file
·查看 tar -jtv -f file.tar.bz2
·dump 指令可备份文件系统或单一目录
·dump的备份若针对文件系统时,可进行0-9的lever的差异备份!其中 level 0 为完整备份
·restore 指令可还原 被dump 的备份档案
·要简历刻录光盘数据时,可透过mkisofs指令来
·可透过cdrecord 来写入CD 或DVD 刻录机
·cpio 为相当优秀的备份指令,不过必须要搭配类似 find 指令来读入欲备份的文件名数据,才能进行备份动作