鸟哥的LINUX私房菜基础篇第三版 阅读笔记 四 档案的文件系统的压缩和打包

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 指令来读入欲备份的文件名数据,才能进行备份动作
 

posted on 2015-11-25 21:12  稀饭里的米  阅读(155)  评论(0编辑  收藏  举报