zoukankan      html  css  js  c++  java
  • 24.gzip、unzip命令详解

    gzip命令


    减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。


    注意:压缩完成后会删除原文件
    语法:

    gzip [选项] 压缩(解压缩)的文件名



    各选项的含义:

    -c 将输出写到标准输出上,并保留原有文件。
    
    -d 将压缩文件解压。
    
    -l 对每个压缩文件,显示下列字段:压缩文件的大小,未压缩文件的大小,压缩比,未压缩文件的名字
    
    -r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。
    
    -t 测试,检查压缩文件是否完整。
    
    -v 对每一个压缩和解压的文件,显示文件名和压缩比。
    
    -num 用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6。



    假设一个目录/home下有文件mm.txt、sort.txt、xx.com。

    例1:把/home目录下的每个文件压缩成.gz文件。

    $ cd /home
    
    $ gzip *
    
    $ ls
    
    m.txt.gz sort.txt.gz xx.com.gz



    例2:把例1中每个压缩的文件解压,并列出详细的信息。

    $ gzip -dv *
    
    mm.txt.gz 43.1%-----replaced with mm.txt
    
    sort.txt.gz 43.1%-----replaced with sort.txt
    
    xx.com.gz 43.1%-----replaced with xx.com
    
    $ ls
    
    mm.txt sort.txt xx.com



    例3:详细显示例1中每个压缩的文件的信息,并不解压。

    $ gzip -l *
    
    comcodessed uncompr. ratio uncomcodessed_name
    
    277 445 43.1% mm.txt
    
    278 445 43.1% sort.txt
    
    277 445 43.1% xx.com
    
    $ ls
    
    mm.txt.gz sort.txt.gz xx.com.gz



    例4:压缩一个tar备份文件,如usr.tar,此时压缩文件的扩展名为.tar.gz

    $ gzip usr.tar
    
    $ ls
    
    usr.tar.gz
    
    :gzip -d *.gz

    gunzip命令

    Gunzip是一个用于解压缩Gzip文件的命令行工具,Gzip是最流行的压缩算法之一,它可以减小文件的大小并保留原始文件模式、所有权和时间戳。按照惯例,使用Gzip压缩的文件将被赋予.gz或.z扩展名。在本文中,我们将解释如何使用gunzip命令。

    注意:解压完成后会删除原文件

    用gunzip解压缩文件

    gunzip命令的一般语法如下:

    gunzip [OPTION]... [FILE]...

    在大多数Linux发行版上,例如Ubuntu、CentOS和Debian,gunzip是gzip -d命令的bash脚本包装器。

    所有gzip命令行选项都适用于gunzip。

    要使用gunzip解压缩.gz文件,请将压缩文件名作为参数传递:

    $ gunzip filename.gz

    该命令将压缩文件恢复为其原始名称、所有者、模式和时间戳。

    默认情况下,一旦解压缩,gunzip将删除压缩文件,使用-k选项保留文件:

    $ gunzip -k filename.gz

    要在终端上写入输出,请使用-c选项,这允许你保留压缩文件并可选地将其解压缩到另一个位置:

    $ gunzip -c filename.gz > /directory/path/filename

    gunzip命令还接受多个文件作为参数:

    $ gunzip file1.gz file2.gz file3.gz

    要递归解压缩给定目录中的所有文件,请使用-r选项:

    $ gunzip -r directory

    列出压缩文件内容

    与-l选项一起使用时,gunzip显示有关给定压缩文件的信息:

    $ gunzip -l filename.gz

    输出将包括未压缩的文件名,压缩和未压缩的大小以及压缩率:

    要获得更详细的输出,请使用-v选项:

    $ gunzip -lv filename

    会输出如下信息:

    zip命令

    Linux zip 命令用于压缩文件。

    zip 是个使用广泛的压缩程序,压缩后的文件后缀名为 .zip。

    参数:

    -A:调整可执行的自动解压缩文件;
    -b<工作目录>:指定暂时存放文件的目录;
    -c:替每个被压缩的文件加上注释;
    -d:从压缩文件内删除指定的文件;
    -D:压缩文件内不建立目录名称;
    -f:此参数的效果和指定“-u”参数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中;
    -F:尝试修复已损坏的压缩文件;
    -g:将文件压缩后附加在已有的压缩文件之后,而非另行建立新的压缩文件;
    -h:在线帮助;
    -i<范本样式>:只压缩符合条件的文件;
    -j:只保存文件名称及其内容,而不存放任何目录名称;
    -J:删除压缩文件前面不必要的数据;
    -k:使用MS-DOS兼容格式的文件名称;
    -l:压缩文件时,把LF字符置换成LF+CR字符;
    -ll:压缩文件时,把LF+cp字符置换成LF字符;
    -L:显示版权信息;
    -m:将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中;
    -n<字尾字符串>:不压缩具有特定字尾字符串的文件;
    -o:以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同;
    -q:不显示指令执行过程;
    -r:递归处理,将指定目录下的所有文件和子目录一并处理;
    -S:包含系统和隐藏文件;
    -t<日期时间>:把压缩文件的日期设成指定的日期;
    -T:检查备份文件内的每个文件是否正确无误;
    -u:更换较新的文件到压缩文件内;
    -v:显示指令执行过程或显示版本信息;
    -V:保存VMS操作系统的文件属性;
    -w:在文件名称里假如版本编号,本参数仅在VMS操作系统下有效;
    -x<范本样式>:压缩时排除符合条件的文件;
    -X:不保存额外的文件属性;
    -y:直接保存符号连接,而非该链接所指向的文件,本参数仅在UNIX之类的系统下有效;
    -z:替压缩文件加上注释;
    -$:保存第一个被压缩文件所在磁盘的卷册名称;
    -<压缩效率>:压缩效率是一个介于1~9的数值。

    用法

    1.将/home/data 这个目录下的所有文件打包压缩为当前目录下的data.zip

    zip -q -r data.zip /home/data

    2.如果现在在/home 这个目录下,则如下

    zip -q -r data.zip data

    3.如果在/home/data 这个目录下,则如下

    zip -q -r data.zip *

    以上三种效果一样。

    unzip命令

    压缩/解压缩操作后,源文件仍然保留
    用MS Windows下的压缩软件winzip压缩的文件如何在Linux系统下展开呢?可以用unzip命令,该命令用于解扩展名为.zip的压缩文件。

    语法:

    unzip [选项] 压缩文件名.zip


    各选项的含义分别为:

    -x 文件列表 解压缩文件,但不包括指定的file文件。
    
    -v 查看压缩文件目录,但不解压。
    
    -t 测试文件有无损坏,但不解压。
    
    -d 目录 把压缩文件解到指定目录下。
    
    -z 只显示压缩文件的注解。
    
    -n 不覆盖已经存在的文件。
    
    -o 覆盖已存在的文件且不要求用户确认。
    
    -j 不重建文档的目录结构,把所有文件解压到同一目录下



    例1:将压缩文件text.zip在当前目录下解压缩。

    $ unzip text.zip



    例2:将压缩文件text.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件。

    $ unzip -n text.zip -d /tmp



    例3:查看压缩文件目录,但不解压。

    $ unzip -v text.zip


    zgrep命令


    这个命令的功能是在压缩文件中寻找匹配的正则表达式,用法和grep命令一样,只不过操作的对象是压缩文件。如果用户想看看在某个压缩文件中有没有某一句话,便可用zgrep命令。

    参考:https://www.cnblogs.com/chyong168/archive/2012/03/23/2413628.html

    https://www.cnblogs.com/black-humor/p/8962499.html

    https://ywnz.com/linuxml/5902.html

  • 相关阅读:
    JavaScript——封装
    Vue.js——component(组件)
    MySQL数据库——安装教程(5.7版本)
    Vue.js——循环(Java、JSTL标签库、数据库)
    Vue.js——理解与创建使用
    JavaScript——闭包
    自定义最小索引优先队列
    自定义最大索引优先队列
    自定义最小优先队列
    自定义最大优先队列
  • 原文地址:https://www.cnblogs.com/zhongguiyao/p/13946204.html
Copyright © 2011-2022 走看看