Linux下压缩工具详解

简介:

一、为什么要压缩?

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]

    • gzip -c message > /tmp/message.gz: 即能保留原文件,又可以创建压缩文件

    • -d : 解压缩,相当于使用gunzip

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

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

    • 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…..

    • tar -Jcf /tmp/mylog.tar.xz *.log : 调用xz压缩并创建归档文件

    • tar -jcf /tmp/mylog.tar.bz2 *.log : 调用bzip2压缩并创建归档文件

    • tar -zcf /tmp/mylog.tar.gz *.log : 调用gzip压缩并创建归档文件mylog.tar.gz

    • -tf /tmp/mylog.tar : 查看归档文件中的列表

    • -xf /tmp/mylog.tar -C /root/ : 展开并保存至root目录下

    • -xf /tmp/mylog.tar :展开mylog.tar文件至当前目录

    • -cf /tmp/mylog.tar *.log : 归档当前目录下所有以log结尾的文件,保存至/tmp/mylog.tar文件中

    • -c : 创建归档

    • -f : 指定文件路径,f必须在c参数后面,并且后面跟归档文件的路径,与创建和解开指定文件所使用

    • -x : 展开归档文件

    • -C /PATH/TO/SOMEWHERE : 展开归档,并且指明路径

    • -t : 不展开归档查看里面的文件列表

    • -z : 调用gzip的工具压缩归档文件

    • -j : 调用bzip2的工具压缩归档文件

    • -J : 调用xz的工具压缩归档文件





      本文转自027ryan  51CTO博客,原文链接:http://blog.51cto.com/ucode/1842572,如需转载请自行联系原作者





相关文章
|
关系型数据库 应用服务中间件 Linux