03 - Linux归档及压缩

188 阅读2分钟

Linux系统中压缩包的后缀有.zip.gz.bz2.xz等,后缀不同表示压缩方式不同,使用的压缩命令也不同。

压缩与解压成对使用,生成上述几种形式的压缩包所用的命令分别为zip、gzip、bzip2、xz,解压缩时使用的命令分别为unzip、bzip2、xz。

此外,Linux系统中提供了专门用于打包文件的命令一tar。

tar

  • 功能:制作压缩包和解压压缩包
  • 格式:tar [选项] [压缩包名] [需要压缩的文件或目录]
  • 选项:
    • -c:创建压缩包
    • -z:以 gz 格式压缩
    • -j:以 bz2 格式压缩
    • -J:以 xz 格式压缩
    • -f:对接或指定压缩包名(解压及解包也需要),必须写在后面
    • -x:解压压缩包(解压完后缀就会被去掉)
    • -C:指定解压路径
    • -P:保留原路径的信息(压缩时使用该选项,解压时也必须使用该选项)
    • -t:不解压,查看压缩包的内容
    • -r:追加文件到压缩包,只对tar包有用
  • 补充:
    • 解压后会把外层的包去掉,恢复解压前的文件
    • 在当前目录下解压在别的目录的包,可以把那个压缩包解压到当前目录

zip 与 unzip

  • zip

    • 功能:制作压缩包
    • 格式:zip [选项] [指定的压缩包名.zip] [需要压缩的文件或目录]
    • 选项:
      • -r:递归压缩,用于压缩目录
      • -m:压缩后删除源文件
  • unzip

    • 功能:解压缩包
    • 格式:unzip [压缩包名.zip] -d [-d:指定解压路径]

tar打包、gzip、bzip、xzip的区别

  • tar只是打包没有压缩,而gzip、bzip、xzip区别于压缩的体积,以及压缩的时间
  • gzip压缩力度较小(压缩后的文件体积较大),时间较短
  • bzip相对于gzip,压缩力度稍微大一点、时间也比gzip要长
  • xzip的压缩力度最大(压缩后的文件体积最小),压缩时间也是最长
  • 因此可以得出:压缩速度和压缩的体积成反比(体积:gzip > bzip > xzip)