Linux私房菜:打包、压缩和备份

本文内容精简、整理、摘抄、有感于《鸟哥的Linux私房菜》第八章 • 文件与文件系统的压缩、打包和备份。

压缩

目前常见的Linux压缩命令包括有gzipbzip2和最新的xz,下表是一些常见的压缩文件扩展名及对应指令关系:

扩展名 指令 说明
*.Z compress 已经不流行,gzip可以代替
*.zip zip window下常见的压缩格式
*.gz gzip 较快较为常见的一种压缩格式
*.bz2 bzip2 压缩率比gzip要好的压缩格式
*.xz xz 压缩率比gzip/bzip2都要高的压缩方式

如果是经过打包(tar)的压缩文件,那常见的对应关系大多如下:

扩展名 说明
*.tar tar指令打包,未压缩过
*.tar.gz tar指令打包,用gzip压缩过
*.tar.bz2 tar指令打包,用bzip2压缩过
*.tar.xz tar指令打包,用xz压缩过

以下是上述几种压缩命令的常见用法:

  • gzip [-cdv#] 档名,压缩或解压缩,支持操作旧式的compress指令处理的*.Z压缩文档

    • c将输出流重定向,可自定义压缩文档名称
    • d解压缩
    • v显示压缩比
    • #取值范围介于1-9,1最快压缩率最低,9最慢但压缩比最高,默认是6
  • zcat/zmore/zless/zgrep 压缩档,这几个命令都是用于查看或过滤出gzip格式的压缩档内容

  • bzip2 [-cdkv#] 档名,提供了比gzip更好的压缩比

    • c将输出流重定向,可自定义压缩文档名称
    • d解压缩
    • k保留源文件而不是删除
    • v显示压缩比
    • #同gzip,取值范围介于1-9,1最快压缩率最低,9最慢但压缩比最高,默认是6
  • bzcat/bzmore/bzless/bzgrep 压缩档,用于查看或过滤出bz2格式的压缩档内容

  • xz [-cdlk#] 档名,提供了比gzip/bzip2更好的压缩比

    • c将输出流重定向,可自定义压缩文档名称
    • d解压缩
    • 1显示压缩文件相关信息
    • k保留源文件而不是删除
    • #同gzip,取值范围介于1-9,1最快压缩率最低,9最慢但压缩比最高,默认是6
  • xzcat/xzmore/xzless/xzgrep 压缩档,用于查看或过滤出xz格式的压缩档内容

打包

以上压缩指令仅支持操作单一文件,多个文件则需要配合使用tar进行打包:

  • tar [-{z|j|J}{c|t|x}vpP] -f 压缩档 待压缩或待解压缩文件 [-C 解压缩目录]
    • zjJ对应gzip、bzip2和xz三种压缩格式。( PS: 不加该参数时,档名最好取为:*.tar;如果是-z,对应为*.tar.gz;如果是-j,对应为*.tar.bz2;如果是-J,对应为*.tar.xz )
    • ctx分别对应打包压缩、察看压缩档内容和解压缩这三种功能,不能同时出现
    • v压缩或解压缩过程中显示正在处理的文件名
    • f后接已有tar档名或待建立档名
    • C解压缩时指定的目录位置
    • p保留备份数据的原权限和属性
    • P保留根目录绝对路径,解压会还原到该位置
    • --exclude=FILE压缩但不包含FILE

备份

  • XFS文件系统

    • 备份:xfsdump
    • 还原:xfrestroe
  • 光盘写入工具

    • 建立印象档:mkisofs
    • 光盘刻录工具:cdrecord
  • 其它压缩备份工具

    • dd
    • cpio

重点回顾

Linux私房菜:打包、压缩和备份

重点回顾

欢迎关注我的个人公众号:超级码里奥
如果这对您有帮助,欢迎点赞和分享,转载请注明出处