Linux之压缩、解压工具

gzip, bzip2, xz, tar

一、为什么要压缩?

1. 为了节省更多的磁盘空间,降低磁盘的使用率
2. 利于网络文件的传输,减少带宽的压力

著名的压缩工具

1. compress/uncompress

  • 文件后缀:.z

2. gzip/gunzip

  • 文件后缀: .gz

3. bzip2/bunzip2

  • 文件后缀:.bz2

4. xz/unxz

  • 文件后缀: .xz

5. lzma/unlzma

  • 文件后缀: .lzma

即能归档又能压缩的工具

  • zip/unzip
    • zip是windows,linux,unix比较通用的压缩、解压工具,支持性比较好

只能归档的工具

  • tar 工具
    • 一般用于备份文件
  • cpio 工具
    • 一般用于内核文件的归档

一、gzip命令

gzip - gzip, gunzip, zcat - compress or expand files

  • synopsis: gzip [option]…FILE
  • [options]
    • -d : 解压缩,相当于使用gunzip

    • -# : 指定压缩比,默认是6,范围为1-9

    • -c : 保留原文件,只会把压缩后的文件输出至屏幕

      • gzip -c message > /tmp/message.gz: 即能保留原文件,又可以创建压缩文件
    • zcat FILE: 可以不解压文件即可查看压缩文件中的内容

    • gzip FILE : 解压文件

二、bzip2命令

bzip2 - bzip2/bunzip2/bzcat/bzip2recover

  • synopsis: bzip2 [option]...FILE
  • [options]
    • -d : 解压缩,相当于使用bunzip2
    • -# : 指定压缩比,默认是6,范围为1-9
    • -k : 保留原文件

bzcat : 不用解压缩文件即可以查看文件内容

三、xz命令

xz - xz, unxz, xzcat, lzma, unlzma, lzcat - Compress or decompress .xz and .lzma files

  • `synopsis : xz [option]…file
  • [options]
    • -d : 解压缩文件
    • -# : 指定压缩比,默认是6,数值越大,压缩比越大(1-9)
    • -k : 保留原文件

xzcat : 不用解压文件,即可以查看其内容

=========

以上三款压缩工作特性:

  • 只能压缩文本文件,不能压缩目录
  • 默认情况下,不论是压缩和解压文件,都会删除原文件,需要指定参数让其保留原文件
  • 从压缩率相比 xz > bzip2 > gzip
  • 如果需要压缩目录,需借用外部机制,如tar工具来实现

==============

四、tar命令

tar的工作特性:

  • 可以把多个文件打包成一个文件;
  • 归档和解开归档都不删除原文件;
  • 可以借用外部gzip ,bzip2,xz压缩机制,压缩归档文件

tar - Gun tar

  • sinopsis : tar [option]… FILE | drectory…..
    • -c : 创建归档
    • -f : 指定文件路径,f必须在c参数后面,并且后面跟归档文件的路径,与创建和解开指定文件所使用
      • -cf /tmp/mylog.tar *.log : 归档当前目录下所有以log结尾的文件,保存至/tmp/mylog.tar文件中
    • -x : 展开归档文件
      • -xf /tmp/mylog.tar :展开mylog.tar文件至当前目录
    • -C /PATH/TO/SOMEWHERE : 展开归档,并且指明路径
      • -xf /tmp/mylog.tar -C /root/ : 展开并保存至root目录下
    • -t : 不展开归档查看里面的文件列表
      • -tf /tmp/mylog.tar : 查看归档文件中的列表
    • -z : 调用gzip的工具压缩归档文件
      • tar -zcf /tmp/mylog.tar.gz *.log : 调用gzip压缩并创建归档文件mylog.tar.gz
    • -j : 调用bzip2的工具压缩归档文件
      • tar -jcf /tmp/mylog.tar.bz2 *.log : 调用bzip2压缩并创建归档文件
    • -J : 调用xz的工具压缩归档文件
      • tar -Jcf /tmp/mylog.tar.xz *.log : 调用xz压缩并创建归档文件

你可能感兴趣的:(Linux之压缩、解压工具)