美文网首页
Linux基础篇-第八章-文件与文件系统的压缩,打包与备份

Linux基础篇-第八章-文件与文件系统的压缩,打包与备份

作者: Js_Gavin | 来源:发表于2021-06-25 13:17 被阅读0次

    常用指令

    gzip, zcat/zmore/zless/zgrep

    gzip [-cdtv#] 文件名 :压缩或解压文件(在预设的状态下原本的文件会被压缩成为 .gz 的档名,源文件就不再存在了)
          -c :将压缩的数据输出到屏幕上,可透过数据流重导向来处理;
          -d :解压缩的参数;
          -t :可以用来检验一个压缩文件的一致性~看看文件有无错误;
          -v :可以显示出原文件/压缩文件案的压缩比等信息;
          -# :#代表数字,代表压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!预设是 -6
    
    zcat/zmore/zless 纯文本档压缩文件名:可以读取纯文本档被压缩后的压缩文件
    
    egrep [option] 文件名:搜寻关键词
    
    zegrep [option] 纯文本档压缩文件名:搜寻关键词
    

    bzip2, bzcat/bzmore/bzless/bzgrep

    bzip2 [-cdkzv#] 文件名:压缩或解压文件
          -c :将压缩的过程产生的数据输出到屏幕上!
          -d :解压缩的参数
          -k :保留源文件,而不会删除原始的文件喔!
          -z :压缩的参数 (默认值,可以不加)
          -v :可以显示出原文件/压缩文件案的压缩比等信息;
          -# :与 gzip 同样的,都是在计算压缩比的参数, -9 最佳, -1 最快
    
    bzcat/bzmore/bzless 纯文本档压缩文件名:可以读取纯文本档被压缩后的压缩文件
    
    bzegrep [option] 纯文本档压缩文件名:搜寻关键词
    

    xz, xzcat/xzmore/xzless/xzgrep

    xz [-dtlkc#] 文件名:压缩或解压文件
          -d :就是解压缩啊!
          -t :测试压缩文件的完整性,看有没有错误
          -l :列出压缩文件的相关信息
          -k :保留原本的文件不删除~
          -c :同样的,就是将数据由屏幕上输出的意思!
          -# :同样的,也有较佳的压缩比的意思!
    
    

    tar

    tar [-z|-j|-J] [cv] [-f 待建立的新檔名] filename...          <==打包与压缩
    tar [-z|-j|-J] [tv] [-f 既有的 tar 檔名]                     <== 查看压缩文件内容
    tar [-z|-j|-J] [xv] [-f 既有的 tar 檔名] [-C 目录]           <==解压缩
          -c :建立打包文件,可搭配 -v 来察看过程中被打包的档名(filename)
          -t :察看打包文件的内容含有哪些档名,重点在察看『档名』就是了;
          -x :解打包或解压缩的功能,可以搭配 -C (大写) 在特定目录解开,特别留意的是, -c, -t, -x 不可同时出现在一串指令列中。
          -z :透过 gzip 的支持进行压缩/解压缩:此时档名最好为 *.tar.gz
          -j :透过 bzip2 的支持进行压缩/解压缩:此时档名最好为 *.tar.bz2
          -J :透过 xz 的支持进行压缩/解压缩:此时档名最好为 *.tar.xz,特别留意, -z, -j, -J 不可以同时出现在一串指令列中
          -v :在压缩/解压缩的过程中,将正在处理的文件名显示出来!
          -f filename:-f 后面要立刻接要被处理的档名!建议 -f 单独写一个选项啰!(比较不会忘记)
          -C 目录 :这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
          -p(小写) :保留备份数据的原本权限与属性,常用于备份(-c)重要的配置文件
          -P(大写) :保留绝对路径,亦即允许备份数据中含有根目录存在之意;
    
          其实最简单的使用 tar 就只要记忆底下的方式即可:
                压 缩:tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称
                查 询:tar -jtv -f filename.tar.bz2
                解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录
    
    

    XFS 文件系统的备份与还原

    xfsdump [-L S_label] [-M M_label] [-l #] [-f 备份档] 待备份资料 :XFS 文件系统备份 xfsdump
           使用 xfsdump 时,请注意底下的限制喔:
                xfsdump 不支援没有挂载的文件系统备份!所以只能备份已挂载的!
                xfsdump 必须使用 root 的权限才能操作 (涉及文件系统的关系)
                xfsdump 只能备份 XFS 文件系统啊!
                xfsdump 备份下来的数据 (文件或储存媒体) 只能让 xfsrestore 解析
                xfsdump 是透过文件系统的 UUID 来分辨各个备份档的,因此不能备份两个具有相同 UUID 的文件系统
    
          -L :xfsdump 会纪录每次备份的 session 标头,这里可以填写针对此文件系统的简易说明
          -M :xfsdump 可以纪录储存媒体的标头,这里可以填写此媒体的简易说明
          -l :是 L 的小写,就是指定等级~有 0~9 共 10 个等级喔! (预设为 0,即完整备份)
          -f :有点类似 tar 啦!后面接产生的文件,亦可接例如 /dev/st0 装置文件名或其他一般文件档名等
          -I :从 /var/lib/xfsdump/inventory 列出目前备份的信息状态
    
    xfsrestore [-f 备份档] [-L S_label] [-s] 待复原目录 :文件系统还原
          -I :跟 xfsdump 相同的输出!可查询备份数据,包括 Label 名称与备份时间等
          -f :后面接的就是备份档!企业界很有可能会接 /dev/st0 等磁带机!我们这里接档名!
          -L :就是 Session 的 Label name 喔!可用 -I 查询到的数据,在这个选项后输入!
          -s :需要接某特定目录,亦即仅复原某一个文件或目录之意!
          -r :如果是用文件来储存备份数据,那这个就不需要使用。如果是一个磁带内有多个文件, 需要这东西来达成累积复原
          -i :进入互动模式,进阶管理员使用的!一般我们不太需要操作它!
    

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

    dd   if=input_file   of=output_file   bs=block_size   count=number :
          if :就是 input file 啰~也可以是装置喔!
          of :就是 output file 喔~也可以是装置;
          bs :规划的一个 block 的大小,若未指定则预设是 512 bytes(一个 sector 的大小)
          count:多少个 bs 的意思。
    

    总结:
    1、压缩指令为透过一些运算方法去将原本的文件进行压缩,以减少文件所占用的磁盘容量。 压缩前与压缩后的文件所占用的磁盘容量比值, 就可以被称为是『压缩比』

    2、压缩的好处是可以减少磁盘容量的浪费,在 WWW 网站也可以利用文件压缩的技术来进行数据的传送,好让网站带宽的可利用率上升喔

    3、压缩文件案的扩展名大多是:『*.gz, *.bz2, *.xz, *.tar, *.tar.gz, *.tar.bz2, *.tar.xz』

    4、常见的压缩指令有 gzip, bzip2, xz。压缩率最佳的是 xz,若可以不计时间成本,建议使用 xz 进行压缩。

    5、tar 可以用来进行文件打包,并可支持 gzip, bzip2, xz 的压缩。

    6、压 缩:tar -Jcv -f filename.tar.xz 要被压缩的文件或目录名称

    7、查 询:tar -Jtv -f filename.tar.xz

    8、解压缩:tar -Jxv -f filename.tar.xz -C 欲解压缩的目录

    9、xfsdump 指令可备份文件系统或单一目录

    10、xfsdump 的备份若针对文件系统时,可进行 0-9 的 level 差异备份!其中 level 0 为完整备份;

    11、xfsrestore 指令可还原被 xfsdump 建置的备份档;

    12、要建立光盘刻录数据时,可透过 mkisofs 指令来建置;

    13、可透过 wodim 来写入 CD 或 DVD 刻录机

    14、dd 可备份完整的 partition 或 disk ,因为 dd 可读取磁盘的 sector 表面数据

    相关文章

      网友评论

          本文标题:Linux基础篇-第八章-文件与文件系统的压缩,打包与备份

          本文链接:https://www.haomeiwen.com/subject/attfyltx.html