• 压缩打包介绍 &gzip压缩工具 & bzip2压缩工具 &xz压缩工具


    Linux下最常见的压缩文件通常是.tar.gz格式
    .gz:表示有gzip压缩工具压缩的文件。
    .bz2:表示由bzip2压缩工具压缩的文件。
    .tar:表示由tar打包程序打包的文件(tar并没有压缩功能,只是把目录合并成一个文件)。
    .tar.gz:先由tar打包,然后再由gzip压缩。
    .tar.bz2:先由tar打包,然后再由bzip2压缩。
    .tar.xz:先由tar打包,然后再xz压缩。
     
     

    gzip命令:
    用来压缩文件。
    gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多处“.gz”扩展名。

    gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中比较流行的压缩文件格式。据统计,gzip命令对文本文件有60%~70%的压缩率。减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。

     

    语法
    gzip(选项)(参数)
    选项
    -a或——ascii:使用ASCII文字模式;
    -d或--decompress或----uncompress:解开压缩文件;
    -f或——force:强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接;
    -h或——help:在线帮助;
    -l或——list:列出压缩文件的相关信息;
    -L或——license:显示版本与版权信息;
    -n或--no-name:压缩文件时,不保存原来的文件名称及时间戳记;
    -N或——name:压缩文件时,保存原来的文件名称及时间戳记;
    -q或——quiet:不显示警告信息;
    -r或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理;
    -S或<压缩字尾字符串>或----suffix<压缩字尾字符串>:更改压缩字尾字符串;
    -t或——test:测试压缩文件是否正确无误;
    -v或——verbose:显示指令执行过程;
    -V或——version:显示版本信息;
    -<压缩效率>:压缩效率是一个介于1~9的数值,预设值为“6”,指定愈大的数值,压缩效率就会愈高;
    --best:此参数的效果和指定“-9”参数相同;
    --fast:此参数的效果和指定“-1”参数相同。
    参数
    文件列表:指定要压缩的文件列表。

    实例
    把test6目录下的每个文件压缩成.gz文件

    gzip *
    把上例中每个压缩的文件解压,并列出详细的信息

    gzip -dv *
    详细显示例1中每个压缩的文件的信息,并不解压

    gzip -l *
    压缩一个tar备份文件,此时压缩文件的扩展名为.tar.gz

    gzip -r log.tar
    递归的压缩目录

    gzip -rv test6
    这样,所有test下面的文件都变成了*.gz,目录依然存在只是目录里面的文件相应变成了*.gz.这就是压缩,和打包不同。因为是对目录操作,所以需要加上-r选项,这样也可以对子目录进行递归了。

    递归地解压目录

    gzip -dr test6

    bzip2命令:
    用于创建和管理(包括解压缩)“.bz2”格式的压缩包。
    我们遇见Linux压缩打包方法有很多种,以下讲解了Linux压缩打包方法中的Linux bzip2命令的多种范例供大家查看,相信大家看完后会有很多收获。

    bzip2 [-dz] filename ,-z表示压缩,-d表示解压缩。压缩级别1-9,默认级别9。

    yum install -y bzip2

    语法
    bzip2(选项)(参数)
    选项
    -c或——stdout:将压缩与解压缩的结果送到标准输出;
    -d或——decompress:执行解压缩;
    -f或-force:bzip2在压缩或解压缩时,若输出文件与现有文件同名,预设不会覆盖现有文件。若要覆盖。请使用此参数;
    -h或——help:在线帮助;
    -k或——keep:bzip2在压缩或解压缩后,会删除原始文件。若要保留原始文件,请使用此参数;
    -s或——small:降低程序执行时内存的使用量;
    -t或——test:测试.bz2压缩文件的完整性;
    -v或——verbose:压缩或解压缩文件时,显示详细的信息;
    -z或——compress:强制执行压缩;
    -V或——version:显示版本信息;
    --repetitive-best:若文件中有重复出现的资料时,可利用此参数提高压缩效果;
    --repetitive-fast:若文件中有重复出现的资料时,可利用此参数加快执行效果。
    参数
    文件:指定要压缩的文件。

    实例
    压缩指定文件filename:

    bzip2 filename

    bzip2 -z filename
    这里,压缩的时候不会输出,会将原来的文件filename给删除,替换成filename.bz2.如果以前有filename.bz2则不会替换并提示错误(如果想要替换则指定-f选项,例如bzip2 -f filename;如果filename是目录则也提醒错误不做任何操作;如果filename已经是压过的了有bz2后缀就提醒一下,不再压缩,没有bz2后缀会再次压缩。

    解压指定的文件filename.bz2:

    bzip2 -d filename.bz2

    bunzip2 filename.bz2
    这里,解压的时候没标准输出,会将原来的文件filename.bz2给替换成filename。如果以前有filename则不会替换并提示错误(如果想要替换则指定-f选项,例如bzip2 -df filename.bz2。

    压缩解压的时候将结果也输出:

    $bzip2 -v filename
    输入之后,输出如下:

    filename: 0.119:1, 67.200 bits/byte, -740.00% saved, 5 in, 42 out.
    这里,加上-v选项就会输出了,只用压缩举例了,解压的时候同理bzip2 -dv filename.bz2不再举例了。

    模拟解压实际并不解压:

    bzip2 -tv filename.bz2
    输入之后,输出如下:

    filename.bz2: ok
    这里,-t指定要进行模拟解压,不实际生成结果,也就是说类似检查文件,当然就算目录下面有filename也不会有什么错误输出了,因为它根本不会真的解压文件。为了在屏幕上输出,这里加上-v选项了,如果是真的解压bzip2 -dv filename.bz2则输出的是把"ok"替换成了"done"。

    压缩解压的时候,除了生成结果文件,将原来的文件也保存:

    bzip2 -k filename
    这里,加上-k就保存原始的文件了,否则原始文件会被结果文件替代。只用压缩举例了,解压的时候同理$bzip2 -dk filename.bz2不再举例了。

    解压到标准输出:

    bzip2 -dc filename.bz2
    输入之后,输出如下:

    hahahhaahahha
    这里,使用-c指定到标准输出,输出的是文件filename的内容,不会将filename.bz2删除。

    压缩到标准输出:

    bzip2 -c filename
    bzip2: I won't write compressed data to a terminal.
    bzip2: For help, type: `bzip2 --help'.
    这里,使用-c指定压缩到标准输出不删除原有文件,不同的是,压缩后的文件无法输出到标准输出。

    使用bzip2的时候将所有后面的看作文件(即使文件名以'-'开头):

    bzip2 -- -myfilename
    这里主要是为了防止文件名中-产生以为是选项的歧义。

    xz压缩工具
    xz [-dz] filename。-z压缩,-d解压缩。
     
    xz同样不能压缩目录
    [root@pantinglinux]# xz testxz: test
    Is a directory, skipping
  • 相关阅读:
    处理数据
    Vue--Vue常用指令及操作
    Vue--Vue实例
    ES6--解构赋值
    ES6--入门
    前端模块化开发
    Node.js--入门
    HTML5--canvas与svg的使用
    input整理
    移动端开发入门
  • 原文地址:https://www.cnblogs.com/pta188/p/8861337.html
Copyright © 2020-2023  润新知