zoukankan      html  css  js  c++  java
  • LINUX 下解压

    我们知道在Windows下最常见的压缩文件就只有两种
    ,一是,zip,另一个是.rar。可是Linux就不同了,它有.gz、.tar.gz、tgz、bz2、
    .Z、.tar等众多的压缩文件名,此外windows下的.zip和.rar也可以在Linux下使用,
    不过在Linux使用.zip和.rar的人就太少了。本文就来对这些常见的压缩文件进行一
    番小结,希望你下次遇到这些文件时不至于被搞晕icon_smile.gif

    1、compress命令
    功能说明:压缩或解压文件。
    语  法:compress [-cdfrvV][-b <压缩效率>][文件或目录...]
    补充说明:compress是个历史悠久的压缩程序,文件经它压缩后,其名称后面会多出".Z"的扩展名。当要解压缩时,可执行uncompress指令。事实上uncompress是指向compress的符号连接,因此不论是压缩或解压缩,都可通过compress指令单独完成。
    参  数:
    -b<压缩效率>  压缩效率是一个介于9-16的数值,预设值为"16",指定愈大的数值,压缩效率就愈高。
    -c  把压缩后的文件输出到标准输出设备,不去更动原始文件。
    -d  对文件进行解压缩而非压缩。
    -f  强制保存压缩文件,不理会文件名称或硬连接是否存在,该文件是否为符号连接以及压缩效率高低的问题。
    -r  递归处理,将指定目录下的所有文件及子目录一并处理。
    -v  显示指令执行过程。
    -V  显示指令版本及程序预设值。

    2、gzip命令
    减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。
    语法:gzip [选项] 压缩(解压缩)的文件名
    各选项的含义:
    -c 将输出写到标准输出上,并保留原有文件。
    -d 将压缩文件解压。
    -l 对每个压缩文件,显示下列字段:压缩文件的大小,未压缩文件的大小,压缩比未压缩文件的名字
    -r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。
    -t 测试,检查压缩文件是否完整。
    -v 对每一个压缩和解压的文件,显示文件名和压缩比。
    -num 用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6。

    Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包
    ,tar包文件的命令通常都是以.tar结尾的。生成tar包后,就可以用其它的程序来进
    行压缩了,所以首先就来讲讲tar命令的基本用法:

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

    4、unzip命令
    用MS Windows下的压缩软件winzip压缩的文件如何在Linux系统下展开呢?可以用unzip命令,该命令用于解扩展名为.zip的压缩文件。
    语法:unzip [选项] 压缩文件名.zip
    各选项的含义分别为:
    -x 文件列表 解压缩文件,但不包括指定的file文件。
    -v 查看压缩文件目录,但不解压。
    -t 测试文件有无损坏,但不解压。
    -d 目录 把压缩文件解到指定目录下。
    -z 只显示压缩文件的注解。
    -n 不覆盖已经存在的文件。
    -o 覆盖已存在的文件且不要求用户确认。
    -j 不重建文档的目录结构,把所有文件解压到同一目录下。
    5、bzip2命令
    功能说明:.bz2文件的压缩程序。
    语  法:bzip2 [-cdfhkLstvVz][--repetitive-best][--repetitive-fast][- 压缩等级][要压缩的文件]
    补充说明:bzip2采用新的压缩演算法,压缩效果比传统的LZ77/LZ78压缩演算法来得好。若没有加上任何参数,bzip2压缩完文件后会产生.bz2的压缩文件,并删除原始的文件。
    参  数:
    -c或--stdout  将压缩与解压缩的结果送到标准输出。
    -d或--decompress  执行解压缩。
    -f或--force  bzip2在压缩或解压缩时,若输出文件与现有文件同名,预设不会覆盖现有文件。若要覆盖,请使用此参数。
    -h或--help  显示帮助。
    -k或--keep  bzip2在压缩或解压缩后,会删除原始的文件。若要保留原始文件,请使用此参数。
    -s或--small  降低程序执行时内存的使用量。
    -t或--test  测试.bz2压缩文件的完整性。
    -v或--verbose  压缩或解压缩文件时,显示详细的信息。
    -z或--compress  强制执行压缩。
    -L,--license,
    -V或--version  显示版本信息。
    --repetitive-best  若文件中有重复出现的资料时,可利用此参数提高压缩效果。
    --repetitive-fast  若文件中有重复出现的资料时,可利用此参数加快执行速度。
    -压缩等级  压缩时的区块大小。
    6、bunzip2命令
    功能:.bz2文件的解压缩程序。
    语法:bunzip2 [-fkLsvV][.bz2压缩文件]
    说明:bunzip2可解压缩.bz2格式的压缩文件。bunzip2实际上是bzip2的符号连接,执行bunzip2与bzip2 -d的效果相同。
    参数:
    -f或–force  解压缩时,若输出的文件与现有文件同名时,预设不会覆盖现有的文件。若要覆盖,请使用此参数。
    -k或–keep  在解压缩后,预设会删除原来的压缩文件。若要保留压缩文件,请使用此参数。
    -s或–small  降低程序执行时,内存的使用量。
    -v或–verbose  解压缩文件时,显示详细的信息。
    -l,–license,-V或–version  显示版本信息。
    # tar -rf all.tar *.gif
    这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的
    意思。
    # tar -uf all.tar logo.gif
    这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。


    # tar -tf all.tar
    这条命令是列出all.tar包中所有文件,-t是列出文件的意思

    # tar -xf all.tar
    这条命令是解出all.tar包中所有文件,-x是解开的意思

    以上就是tar的最基本的用法。为了方便用户在打包解包的同时可以压缩或解压
    文件,tar提供了一种特殊的功能。这就是tar可以在打包或解包的同时调用其它的压
    缩程序,比如调用gzip、bzip2等。

    1) tar调用gzip

    gzip是GNU组织开发的一个压缩程序,.gz结尾的文件就是gzip压缩的结果。与gzip
    相对的解压程序是gunzip。tar中使用-z这个参数来调用gzip。下面来举例说明一下


    # tar -czf all.tar.gz *.jpg
    这条命令是将所有.jpg的文件打成一个tar包,并且将其用gzip压缩,生成一个
    gzip压缩过的包,包名为all.tar.gz

    # tar -xzf all.tar.gz
    这条命令是将上面产生的包解开。

    2) tar调用bzip2

    bzip2是一个压缩能力更强的压缩程序,.bz2结尾的文件就是bzip2压缩的结果。
    与bzip2相对的解压程序是bunzip2。tar中使用-j这个参数来调用gzip。下面来举例
    说明一下:

    # tar -cjf all.tar.bz2 *.jpg
    这条命令是将所有.jpg的文件打成一个tar包,并且将其用bzip2压缩,生成一个
    bzip2压缩过的包,包名为all.tar.bz2

    # tar -xjf all.tar.bz2
    这条命令是将上面产生的包解开。
    3)tar调用compress

    compress也是一个压缩程序,但是好象使用compress的人不如gzip和bzip2的人
    多。.Z结尾的文件就是bzip2压缩的结果。与 compress相对的解压程序是uncompress
    。tar中使用-Z这个参数来调用compress。下面来举例说明一下:

    # tar -cZf all.tar.Z *.jpg
    这条命令是将所有.jpg的文件打成一个tar包,并且将其用compress压缩,生成
    一个uncompress压缩过的包,包名为all.tar.Z

    # tar -xZf all.tar.Z
    这条命令是将上面产生的包解开

    有了上面的知识,你应该可以解开多种压缩文件了,下面对于tar系列的压缩文
    件作一个小结:

    1)对于.tar结尾的文件

    tar -xf all.tar

    2)对于.gz结尾的文件

    gzip -d all.gz
    gunzip all.gz

    3)对于.tgz或.tar.gz结尾的文件

    tar -xzf all.tar.gz
    tar -xzf all.tgz

    4)对于.bz2结尾的文件

    bzip2 -d all.bz2
    bunzip2 all.bz2

    5)对于tar.bz2结尾的文件

    tar -xjf all.tar.bz2

    6)对于.Z结尾的文件

    uncompress all.Z

    7)对于.tar.Z结尾的文件

    tar -xZf all.tar.z

    另外对于Window下的常见压缩文件.zip和.rar,Linux也有相应的方法来解压它
    们:

    1)对于.zip

    linux下提供了zip和unzip程序,zip是压缩程序,unzip是解压程序。它们的参
    数选项很多,这里只做简单介绍,依旧举例说明一下其用法:

    # zip all.zip *.jpg
    这条命令是将所有.jpg的文件压缩成一个zip包
    # unzip all.zip
    这条命令是将all.zip中的所有文件解压出来

    2)对于.rar

    要在linux下处理.rar文件,需要安装RAR for Linux,可以从网上下载,但要记
    住,RAR for Linux
    不是免费的;可从http://www.rarsoft.com/download.htm下载RARfor Linux 3.2.
    0,然后安装:

    # tar -xzpvf rarlinux-3.2.0.tar.gz
    # cd rar
    # make

    这样就安装好了,安装后就有了rar和unrar这两个程序,rar是压缩程序,unrar
    是解压程序。它们的参数选项很多,这里只做简单介绍,依旧举例说明一下其用法:


    # rar a all *.jpg
    这条命令是将所有.jpg的文件压缩成一个rar包,名为all.rar,该程序会将.rar
    扩展名将自动附加到包名后。

    # unrar e all.rar
    这条命令是将all.rar中的所有文件解压出来

    到此为至,我们已经介绍过linux下的tar、gzip、gunzip、bzip2、bunzip2、compress
    、 uncompress、 zip、unzip、rar、unrar等程式,你应该已经能够使用它们对.tar
    、.gz、.tar.gz、.tgz、.bz2、.tar.bz2、. Z、.tar.Z、.zip、.rar这10种压缩文
    件进行解压了,以后应该不需要为下载了一个软件而不知道如何在Linux下解开而烦
    恼了。而且以上方法对于Unix也基本有效。

    本文介绍了linux下的压缩程式tar、gzip、gunzip、bzip2、bunzip2、compress
    、uncompress、 zip、 unzip、rar、unrar等程式,以及如何使用它们对.tar、.gz
    、.tar.gz、.tgz、.bz2、.tar.bz2、.Z、. tar.Z、.zip、.rar这10种压缩文件进

  • 相关阅读:
    引擎设计跟踪(九.14.2h) 开发计划
    经典游戏重温
    引擎设计跟踪(九.14.2g) 将GNUMake集成到Visual Studio
    [工作积累] Android system dialog with native callback
    [工作积累] Software keyboard not shown on Activity.onCreate
    [工作积累] Android: Hide Navigation bar 隐藏导航条
    [工作积累] GCC 4.6 new[] operator内存对齐的BUG
    引擎设计跟踪(九.14.2f) 最近更新: OpenGL ES & tools
    [工作积累] Google Play Game SDK details
    [工作积累] Android dynamic library & JNI_OnLoad
  • 原文地址:https://www.cnblogs.com/future2012lg/p/2697000.html
Copyright © 2011-2022 走看看