GVKun编程网logo

【liunx】Linux下的压缩和解压缩命令——jar(linux命令解压jar包)

19

在本文中,我们将详细介绍【liunx】Linux下的压缩和解压缩命令——jar的各个方面,并为您提供关于linux命令解压jar包的相关解答,同时,我们也将为您带来关于linux压缩和解压缩命令大全、

在本文中,我们将详细介绍【liunx】Linux下的压缩和解压缩命令——jar的各个方面,并为您提供关于linux命令解压jar包的相关解答,同时,我们也将为您带来关于linux 压缩和解压缩命令大全、linux 系统下 tar 的压缩与解压缩命令、Linux下tar bz gz等压缩包的压缩和解压、Linux下tar bz gz等压缩包的压缩和解压【转】的有用知识。

本文目录一览:

【liunx】Linux下的压缩和解压缩命令——jar(linux命令解压jar包)

【liunx】Linux下的压缩和解压缩命令——jar(linux命令解压jar包)

原文链接:
http://blog.chinaunix.net/uid-692788-id-2681136.html

JAR包是Java中所特有一种压缩文档,其实大家就可以把它理解为.zip包。当然也是有区别的,JAR包中有一个META-INF\MANIFEST.MF文件,当你找成JAR包时,它会自动生成。
JAR包是由JDK安装目录\bin\jar.exe命令生成的,当我们安装好JDK,设置好path路径,就可以正常使用jar.exe命令,它会用lib\tool.jar工具包中的类。这些细节就不用管它了。
让我们看看它怎么使用吧:
 

一.    jar命令选项:

jar命令格式:jar {c t x u f }[ v m e 0 M i ][-C 目录]文件名...
 
其中{ctxu}这四个选项必须选其一。[v f m e 0 M i ]是可选选项,文件名也是必须的。
-c  创建一个jar包
-t  显示jar中的内容列表
-x  解压jar包
-u  添加文件到jar包中
-f  指定jar包的文件名
-v  生成详细的报造,并输出至标准设备
-m  指定manifest.mf文件.(manifest.mf文件中可以对jar包及其中的内容作一些一设置)
-0  产生jar包时不对其中的内容进行压缩处理
-M  不产生所有文件的清单文件(Manifest.mf)。这个参数与忽略掉-m参数的设置
-i    为指定的jar文件创建索引文件
-C  表示转到相应的目录下执行jar命令,相当于cd到那个目录,然后不带-C执行jar命令

二.  jar使用范例:

(1)创建jar包
$ jar cf hello.jar hello   利用test目录生成hello.jar包,如hello.jar存在,则覆盖
 
(2)创建并显示打包过程
$ jar cvf hello.jar hello     利用hello目录创建hello.jar包,并显示创建过程
例:E:\>jar cvf hello.jar hello
标明清单(manifest)
增加:hello/(读入= 0) (写出= 0)(存储了 0%)
增加:hello/TestServlet2.class(读入= 1497) (写出= 818)(压缩了 45%)
增加:hello/HelloServlet.class(读入= 1344) (写出= 736)(压缩了 45%)
增加:hello/TestServlet1.class(读入= 2037) (写出= 1118)(压缩了 45%)
 
(3)显示jar包
$ jar tvf hello.jar    查看hello.jar包的内容
指定的jar包必须真实存在,否则会发生FileNoutFoundException。
 
(4)解压jar包
$ jar xvf hello.jar   解压hello.jar至当前目录
 
(5)jar中添加文件
$ jar uf hello.jar HelloWorld.java     将HelloWorld.java添加到hello.jar包中
 
(6)创建不压缩内容jar包
$ jar cvf0 hello.jar *.class      利用当前目录中所有的.class文件生成一个不压缩jar包
 
(7)创建带manifest.mf文件的jar包
$ jar cvfm hello.jar manifest.mf hello
创建的jar包多了一个META-INF目录,META-INF止录下多了一个manifest.mf文件,至于manifest.mf的作用,后面会提到.
 
(8)忽略manifest.mf文件
$ jar cvfM hello.jar hello    生成的jar包中不包括META-INF目录及manifest.mf文件
 
(9)加-C应用:
$ jar cvfm hello.jar mymanifest.mf -C hello/
表示在切换到hello目录下然后再执行jar命令
 
(10)-i为jar文件生成索引列表
当一个jar包中的内容很好的时候,你可以给它生成一个索引文件,这样看起来很省事。
$ jar  i  hello.jar     
执行完这条命令后,它会在hello.jar包的META-INF文件夹下生成一个名为INDEX.LIST的索引文件,
它会生成一个列表,最上边为jar包名。
 
(11)导出解压列表
jar tvf hello.jar >hello.txt   
如果你想查看解压一个jar的详细过程,而这个jar包又很大,屏幕信息会一闪而过,
这时你可以把列表输出到一个文件中,慢慢欣赏!
 
(12)jar -cvf hello.jar hello/*
   例如原目录结构如下:
   hello
     |---com
     |---org
 
 你本想只把com目录和org目录打包,而这时jar命令会连同hello目洋也一块打包进。
这点大家要注意。jar命令生成的压缩文件会包含它后边出的目录。我们应该进入到hello目录再执行jar命令。
 
注意:manifest.mf这个文件名,用户可以任指定,但jar命令只认识Manifest.mf,它会对用户指定的文件名进行相应在的转换,这不需用户担心。

 

三.Manifest.mf文件编写规则:

manifest.mf的编写一定要注意一些细节,它是很苛刻的,
我在此也载过不少跟头,谁让它这么小气呢,没办法,所以专门给大家列出来。
 
(1) 不能有空行和空格的地方
    第一行不可以是空行( 第一行的行前不可以有空行),行与行之间不能有空行,第行的行尾不可以有空格

(2) 一定要有空行的地方
最后一行得是空行(在输完你的内容后加一个回车就OK)

(3) 一定有空格的地方
     key: value       在分号后面一定要写写一个空格
 

四.怎样使用jar包中的类

还是写个小例子吧,这样直观!
   public final class Person
   {
              public static int age()
              {
                     return 30;
              }
   }

-> javac Person.java
->jar cvf person.jar Person.class   将上面的文件打成一个jar包


再写一个类对其进行调用:
   public class MyAge
   {
              public static void getAge()
        {
                     System.out.println(Person.age());
              }
   }
 
  ->javac  MyAge.java
  ->java -classpath person.jar MyAge
 
************调试一下这个程序*******************
 

五.创建可执行jar

有时自己写个程序,类一大堆,时间一长连自己都不知道那个是主类,
而且有可能用到图片或其它文件一大堆,看得也乱,
这时你可以考虑把它做成一个可执行jar包...
 
  (1) 编辑manifest.mf文件加入下面一行
     Main-Class: MyApplet
    
     注意:Main-Class的大小定,冒号后的空格,MyApplet后一定输入回车,然后保存。
 
  (2) 打包
     jar cvfm FirstApplet.jar manifest.mf MyApplet.class
     注意:manifest.mf指定为存放Mani-Class: MyApplet文件的文件名
 
   (3) 可执行jar的使用
      java -jar FirstApplet.jar
      或
      也可以中使用:
 
   注意:类并没有给出,大家随便写一个就行,类名包名自己随意定,相应的更改就可以...
 

六.扩展自己的类

在JDK的安装目录\jre\lib\ext目录下,SUN为大家为我们扩展自己类的提供了方便,
大家可以将自己的类文件打成.jar包放在此目录下,它由ExtClassLoader类装器负责进行装载,
ExtClassLoader类装器是AppClassLoader类装载器的父装载器,AppClassLoader主要负责加载CLASSPATH路径下的文件,
而在java中采用的又是委托父装载器的机制,所以此目录下存放的jar中的类文件不做任何的设置,
类装载器就可以找到正常的加载,是不是很方便啊,呵...
 
如果你的.jar是给applet小应用程序看的,可以在打成jar包之前,在其manifest.mf加入下面两行。
  Class-Path: FirstApplet.jar
  Class-path: SecondApplet.jar
  Main-Class: MyApplet
 
  注意:Class-path可以设置多项,直接写jar包名既可。
Main-Class主要当jar中有多个.class类文件时,java并不知道那个才是主类,
所以要指定,如果jar包中只有一个类当然可以不指定。
 
Java调用类的顺序:java\lib\ext中的类--->Manifest.mf中指定的类-->当前目录中的类-->set CLASSPATH中指定的类。
 

七.调用URL网络上的jar

(1) 生成jar包的URL
   URL u=new URL("jar:"+"FirstAppplet.jar"+!/");
 
(2) 建立jarURLConnection对象
   JarURLConnection juc=(JarURLConnection)u.openConnection();
 
(3) 返回jar包中主类的名字
Attributes attr=juc.getMainAttributes();
String name=attr.getValue("Mani-Class");
 
一定要确保你的jar包中的manifest.mf中已正确的设置了Mani-Class属性,再强调一下一定要注意规则。
 
(4) 根据得到的主类名创建Class对象
   Class c=Class.forName(name);
 
(5) 根据Class对象调用其main方法:
   Method cm=c.getMethod("main",new Class[]{String.class});
   cm.invoke(null,new Object[]{});
 
  *************如何调用***************
 
提示:上边用到了Reflection反射机制的相关知识,大家如果多反射机制有兴趣,可查看java.lang.reflect包中的相关内容.
 

八.JAR命令使用技巧:

 
(1) jar创建压ZIP文件
jar cvfM TestZIP.jar test        加M参数为了不生成META-INF相关内容
然后将TestZIP.jar改为TestZIP.zip就可以,是不是很简单....
 
(2) 使用WinRAR解压.jar文件
上边我们已经说过了,说JAR文件是一种特殊的压缩文件,所以它当然可以用我们常用的一些解压缩工具来解了,
至于怎么解,这就不用我说了吧。
 
(3) 用WinRAR生成.jar文件
     我们已经说过JAR包与ZIP包主要区别就是JAR包中多一个META-INF的目录,
META-INF目录下有一个manifest.mf文件,我们只要建立好相关的目录一压缩就可以了。
目录的结构如下:
      TestJar
          |--META-INF
                |--manifest.mf
          |--相关的类文件
 
注意:还应该在manifest.mf填写内容,不会写?照着一个已有的抄不就行了。

linux 压缩和解压缩命令大全

linux 压缩和解压缩命令大全

高春辉、王春生、朱峰:关于开源创业的 15 件小事
  • tar 命令

      解包:tar zxvf FileName.tar

      打包:tar czvf FileName.tar DirName

     

  • gz 命令

      解压 1:gunzip FileName.gz

      解压 2:gzip -d FileName.gz

      压缩:gzip FileName

      .tar.gz 和 .tgz

      解压:tar zxvf FileName.tar.gz

      压缩:tar zcvf FileName.tar.gz DirName

       压缩多个文件:tar zcvf FileName.tar.gz DirName1 DirName2 DirName3 ...

     

  • bz2 命令

      解压 1:bzip2 -d FileName.bz2

      解压 2:bunzip2 FileName.bz2

      压缩: bzip2 -z FileName

      .tar.bz2

      解压:tar jxvf FileName.tar.bz2

      压缩:tar jcvf FileName.tar.bz2 DirName

     

  • bz 命令

      解压 1:bzip2 -d FileName.bz

      解压 2:bunzip2 FileName.bz

      压缩:未知

      .tar.bz

      解压:tar jxvf FileName.tar.bz

     

  • Z 命令

      解压:uncompress FileName.Z

      压缩:compress FileName

      .tar.Z

      解压:tar Zxvf FileName.tar.Z

      压缩:tar Zcvf FileName.tar.Z DirName

     

  • zip 命令

      解压:unzip FileName.zip

      压缩:zip FileName.zip DirName

linux 系统下 tar 的压缩与解压缩命令

linux 系统下 tar 的压缩与解压缩命令

1、压缩

[small@sun shine]# tar  -zcvf  java.tar.gz  java
java/
java/default/
java/default/THIRDPARTYLICENSEREADME-JAVAFX.txt
java/default/LICENSE
java/default/man/
java/default/man/ja/
java/default/man/ja/man1/
java/default/man/ja/man1/rmid.1
java/default/man/ja/man1/unpack200.1
java/default/man/ja/man1/javapackager.1
java/default/man/ja/man1/tnameserv.1
java/default/man/ja/man1/orbd.1
java/default/man/ja/man1/rmiregistry.1
java/default/man/ja/man1/native2ascii.1

2、查看详情

[small@sun shine]# tar  -tvf   java.tar.gz
drwxr-xr-x small/shine 0 2018-11-21 10:57 java/
drwxr-xr-x small/shine 0 2018-11-21 10:57 java/default/
-rwxr-xr-x small/shine 63933 2017-09-06 02:47 java/default/THIRDPARTYLICENSEREADME-JAVAFX.txt
-rw-r--r-- small/shine 40 2017-09-06 10:29 java/default/LICENSE
drwxr-xr-x small/shine 0 2018-11-21 10:57 java/default/man/
drwxr-xr-x small/shine 0 2018-11-21 10:57 java/default/man/ja/
drwxr-xr-x small/shine 0 2018-11-21 10:57 java/default/man/ja/man1/
-rw-r--r-- small/shine 19715 2017-09-06 10:29 java/default/man/ja/man1/rmid.1
-rw-r--r-- small/shine 5382 2017-09-06 10:29 java/default/man/ja/man1/unpack200.1
-rwxr-xr-x small/shine 32362 2017-09-06 02:47 java/default/man/ja/man1/javapackager.1

3、解压缩

[small@sun shine]# tar  -zxvf  java.tar.gz
java/
java/default/
java/default/THIRDPARTYLICENSEREADME-JAVAFX.txt
java/default/LICENSE
java/default/man/
java/default/man/ja/
java/default/man/ja/man1/
java/default/man/ja/man1/rmid.1
java/default/man/ja/man1/unpack200.1
java/default/man/ja/man1/javapackager.1
java/default/man/ja/man1/tnameserv.1
java/default/man/ja/man1/orbd.1
java/default/man/ja/man1/rmiregistry.1
java/default/man/ja/man1/native2ascii.1

注:-c 压缩  -t 查看  -x 解压缩

Linux下tar bz gz等压缩包的压缩和解压

Linux下tar bz gz等压缩包的压缩和解压

解压就用得挺熟的了,突然不知道怎样压缩。。。惭愧。。

  这是网上提供的方法:

  .tar.gz
  解压:tar zxvf FileName.tar.gz
  压缩:tar zcvf FileName.tar.gz DirName

      大致总结了一下linux下各种格式的压缩包的压缩、解压方法。但是部分方法我没有用到,也就不全,希望大家帮我补充,我将随时修改完善,谢谢!
  .tar
  解包:tar xvf FileName.tar
  打包:tar cvf FileName.tar DirName
  (注:tar是打包,不是压缩!)
  ---------------------------------------------
  .gz
  解压1:gunzip FileName.gz
  解压2:gzip -d FileName.gz
  压缩:gzip FileName
  .tar.gz 和 .tgz
  解压:tar zxvf FileName.tar.gz
  压缩:tar zcvf FileName.tar.gz DirName
  ---------------------------------------------
  .bz2
  解压1:bzip2 -d FileName.bz2
  解压2:bunzip2 FileName.bz2
  压缩: bzip2 -z FileName
  .tar.bz2
  解压:tar jxvf FileName.tar.bz2
  压缩:tar jcvf FileName.tar.bz2 DirName
  ---------------------------------------------
  .bz
  解压1:bzip2 -d FileName.bz
  解压2:bunzip2 FileName.bz
  压缩:未知
  .tar.bz
  解压:tar jxvf FileName.tar.bz
  压缩:未知
  ---------------------------------------------
  .Z
  解压:uncompress FileName.Z
  压缩:compress FileName
  .tar.Z
  解压:tar Zxvf FileName.tar.Z
  压缩:tar Zcvf FileName.tar.Z DirName
  ---------------------------------------------
  .zip
  解压:unzip FileName.zip
  压缩:zip FileName.zip DirName
  ---------------------------------------------
  .rar
  解压:rar x FileName.rar
  压缩:rar a FileName.rar DirName

  rar请到:http://www.rarsoft.com/download.htm 下载!
  解压后请将rar_static拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):
  [root@www2 tmp]# cp rar_static /usr/bin/rar
  ---------------------------------------------
  .lha
  解压:lha -e FileName.lha
  压缩:lha -a FileName.lha FileName

  lha请到:http://www.infor.kanazawa-it.ac.jp/~ishii/lhaunix/下载!
  >解压后请将lha拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):
  [root@www2 tmp]# cp lha /usr/bin/
  ---------------------------------------------
  .rpm
  解包:rpm2cpio FileName.rpm | cpio -div
  ---------------------------------------------
  .deb
  解包:ar p FileName.deb data.tar.gz | tar zxf -
  ---------------------------------------------
  .tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip .cpio .rpm .deb .slp .arj .rar .ace .lha .lzh .lzx .lzs .arc .sda .sfx .lnx .zoo .cab .kar .cpt .pit .sit .sea
  解压:sEx x FileName.*
  压缩:sEx a FileName.* FileName

  sEx只是调用相关程序,本身并无压缩、解压功能,请注意!
  sEx请到: http://sourceforge.net/projects/sex下载!
  解压后请将sEx拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):
  [root@www2 tmp]# cp sEx /usr/bin/


  参考文献:Linux 文件压缩工具指南
(其实看帮助是最好的方法,一般各个命令都可以用“--help”参数得到常用使用方法!)

  用户经常需要备份计算机系统中的数据,为了节省存储空间,常常将备份文件进行压缩。下面分别介绍备份与压缩的命令。

  tar命令

  tar可以为文件和目录创建档案。利用tar,用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。 tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案,如软盘。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。Linux上的tar是GNU版本的。

  语法:tar [主选项+辅选项] 文件或者目录

  使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。

  主选项:

  c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。

  r 把要存档的文件追加到档案文件的未尾。例如用户已经作好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。

  t 列出档案文件的内容,查看已经备份了哪些文件。

  u 更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。

  x 从档案文件中释放文件。

  辅助选项:

  b 该选项是为磁带机设定的。其后跟一数字,用来说明区块的大小,系统预设值为20(20*512 bytes)。

  f 使用档案文件或设备,这个选项通常是必选的。

  k 保存已经存在的文件。例如我们把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖。

  m 在还原文件时,把所有文件的修改时间设定为现在。

  M 创建多卷的档案文件,以便在几个磁盘中存放。

  v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。

  w 每一步都要求确认。

  z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。

  例1:把/home目录下包括它的子目录全部做备份文件,备份文件名为usr.tar。

  $ tar cvf usr.tar /home

  例2:把/home目录下包括它的子目录全部做备份文件,并进行压缩,备份文件名为usr.tar.gz 。

  $ tar czvf usr.tar.gz /home

  例3:把usr.tar.gz这个备份文件还原并解压缩。

  $ tar xzvf usr.tar.gz

  例4:查看usr.tar备份文件的内容,并以分屏方式显示在显示器上。

  $ tar tvf usr.tar | more

  要将文件备份到一个特定的设备,只需把设备名作为备份文件名。

  例5:用户在/dev/fd0设备的软盘中创建一个备份文件,并将/home 目录中所有的文件都拷贝到备份文件中。

  $ tar cf /dev/fd0 /home

  要恢复设备磁盘中的文件,可使用xf选项:

  $ tar xf /dev/fd0

  如果用户备份的文件大小超过设备可用的存贮空间,如软盘,您可以创建一个多卷的tar备份文件。M选项指示tar命令提示您使用一个新的存贮设备,当使用M选项向一个软驱进行存档时,tar命令在一张软盘已满的时候会提醒您再放入一张新的软盘。这样您就可以把tar档案存入几张磁盘中。

  $ tar cMf /dev/fd0 /home

  要恢复几张盘中的档案,只要将第一张放入软驱,然后输入有x和M选项的tar命令。在必要时您会被提醒放入另外一张软盘。

  $ tar xMf /dev/fd0

  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 *

  compressed uncompr. ratio uncompressed_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

  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命令。

(凌云通)

Linux下tar bz gz等压缩包的压缩和解压【转】

Linux下tar bz gz等压缩包的压缩和解压【转】

Linux下用户经常需要备份计算机系统中的数据,为了节省存储空间,常常将备份文件进行压缩,本文是对压缩和解压命令的大致总结

.tar.gz   解压:tar zxvf FileName.tar.gz   压缩:tar zcvf FileName.tar.gz dirName

solaris下解压 *.tar.gz可能有些不同,按照以下两步实现解压:

1、gzip -d *.tar.gz

2、tar xvf *.tar

第一步,先把*.tar.gz格式解压成*.tar格式

第二步,直接解压*.tar格式文件,完成解压

--------------------------------------------- .tar   

解包:tar xvf FileName.tar 

    tar xvf FileName.tar -C DirName(解压到指定文件夹DirName)   

打包:tar cvf FileName.tar DirName

---------------------------------------------

.gz

  解压1:gunzip FileName.gz

  解压2:gzip -d FileName.gz

  压缩:gzip FileName

.tar.gz 和 .tgz

  解压:tar zxvf FileName.tar.gz

  压缩:tar zcvf FileName.tar.gz FileName

---------------------------------------------

.bz2

  解压1:bzip2 -d FileName.bz2

  解压2:bunzip2 FileName.bz2

  压缩: bzip2 -z FileName

.tar.bz2

  解压:tar jxvf FileName.tar.bz2

  压缩:tar jcvf FileName.tar.bz2 FileName

---------------------------------------------

.bz

  解压1:bzip2 -d FileName.bz

  解压2:bunzip2 FileName.bz

  压缩:未知

.tar.bz

  解压:tar jxvf FileName.tar.bz

  压缩:tar jcvf FileName.tar.bz FileName

---------------------------------------------

.z

  解压:uncompress FileName.Z

  压缩:compress FileName

.tar.z

  解压:tar zxvf FileName.tar.z

  压缩:tar zcvf FileName.tar.z DirName

---------------------------------------------

.zip

  解压:unzip FileName.zip

  压缩:zip FileName.zip DirName

---------------------------------------------

.rar

  解压:rar x FileName.rar

  压缩:rar a FileName.rar DirName

  rar请到:http://www.rarsoft.com/download.htm 下载!

  解压后请将rar_static拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):

  [root@www2 tmp]# cp rar_static /usr/bin/rar

---------------------------------------------

.lha

  解压:lha -e FileName.lha

  压缩:lha -a FileName.lha FileName

  lha请到:http://www.infor.kanazawa-it.ac.jp/~ishii/lhaunix/下载!

  >解压后请将lha拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):

  [root@www2 tmp]# cp lha /usr/bin/

---------------------------------------------

.rpm

  解包:rpm2cpio FileName.rpm | cpio -div

---------------------------------------------

.deb

  解包:ar p FileName.deb data.Tar.gz | Tar zxf -

---------------------------------------------

.Tar .tgz .Tar.gz .Tar.Z .Tar.bz .Tar.bz2 .zip .cpio .rpm

.deb .slp .arj .rar .ace .lha .lzh .lzx .lzs .arc .sda .sfx .lnx

.zoo .cab .kar .cpt .pit .sit .sea

  解压:sEx x FileName.*

  压缩:sEx a FileName.* FileName

  sEx只是调用相关程序,本身并无压缩、解压功能,请注意!

  sEx请到: http://sourceforge.net/projects/sex下载!

  解压后请将sEx拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):

  [root@www2 tmp]# cp sEx /usr/bin/

参考文献:Linux 文件压缩工具指南 其实看帮助是最好的方法,一般各个命令都可以用“--help”参数或者 man command(如:man tar)得到常用使用方法!

---------------------------------------------

tar命令

  tar可以为文件和目录创建档案。利用Tar,用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。 Tar最初被用来在磁带上创建档案,现在用户可以在任何设备上创建档案,如软盘。利用Tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。Linux上的Tar是GNU版本的。

语法:tar [主选项+辅选项] 文件或者目录

  使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。

主选项:

  c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。

  r 把要存档的文件追加到档案文件的未尾。例如用户已经作好备份文件,后发现还有一个目录或文件需要备份追加,这时可以使用该选项。

  t 列出档案文件的内容,查看已经备份了哪些文件。

  u 更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。

  x 从档案文件中释放文件。

辅助选项:

  b 该选项是为磁带机设定的。其后跟一数字,用来说明区块的大小,系统预设值为20(20*512 bytes)。

  f 使用档案文件或设备,这个选项通常是必选的。

  k 保存已经存在的文件。例如我们把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖。

  m 在还原文件时,把所有文件的修改时间设定为现在。

  M 创建多卷的档案文件,以便在几个磁盘中存放。

  v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。

  w 每一步都要求确认。

z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。

例1:把/home目录下包括它的子目录全部做备份文件,备份文件名为usr.tar。

  $ tar cvf usr.tar /home

例2:把/home目录下包括它的子目录全部做备份文件,并进行压缩,备份文件名为usr.tar.gz 。

  $ tar czvf usr.tar.gz /home

例3:把usr.tar.gz这个备份文件还原并解压缩。

  $ tar xzvf usr.tar.gz

例4:查看usr.tar备份文件的内容,并以分屏方式显示在显示器上。

  $ tar tvf usr.tar | more

  要将文件备份到一个特定的设备,只需把设备名作为备份文件名。

例5:用户在/dev/fd0设备的软盘中创建一个备份文件,并将/home 目录中所有的文件都拷贝到备份文件中。

  $ tar cf /dev/fd0 /home

  要恢复设备磁盘中的文件,可使用xf选项:

  $ tar xf /dev/fd0

  如果用户备份的文件大小超过设备可用的存贮空间,如软盘,您可以创建一个多卷的tar备份文件。M选项指示tar命令提示您使用一个新的存贮设备,当使用M选项向一个软驱进行存档时,tar命令在一张软盘已满的时候会提醒您再放入一张新的软盘。这样您就可以把tar档案存入几张磁盘中。

  $ tar cMf /dev/fd0 /home

  要恢复几张盘中的档案,只要将第一张放入软驱,然后输入有x和M选项的tar命令。在必要时您会被提醒放入另外一张软盘。

  $ tar xMf /dev/fd0

---------------------------------------------

gzip命令

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

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

  各选项的含义:

  -c 将输出写到标准输出上,并保留原有文件。

  -d 将压缩文件解压。

  -l 对每个压缩文件,显示下列字段:

压缩文件的大小(compressed)

未压缩文件的大小(uncompressed)

压缩比(ratio)

未压缩文件的名字(uncompressed_name)

  -r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。

  -t 测试,检查压缩文件是否完整。

  -v 对每一个压缩和解压的文件,显示文件名和压缩比。

  -num 用指定的数字num调整压缩的速度,-1(--fast)表示最快压缩方法(低压缩比),-9(--best)表示最慢压缩方法(高压缩比)。系统缺省值为6。

假设一个目录/home下有文件123  aaa  abc

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

  $ cd /home

  $ gzip *

  $ ls

  123.gz  aaa.gz  abc.gz

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

  $ gzip -dv *

123.gz: -50.0% -- replaced with 123 aaa.gz: -50.0% -- replaced with aaa abc.gz: -50.0% -- replaced with abc

  $ ls

  123  aaa  abc

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

  $ gzip -l *

         compressed        uncompressed  ratio uncompressed_name                  28                   4 -50.0% 123                  28                   4 -50.0% aaa                  28                   4 -50.0% abc                  84                  12 -416.7% (totals)

  $ ls

  123.gz  aaa.gz  abc.gz

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

  $ gzip usr.tar

  $ ls

  usr.tar.gz

---------------------------------------------

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命令。

 

转自

Linux下tar bz gz等压缩包的压缩和解压 - 云+社区 - 腾讯云
https://cloud.tencent.com/developer/article/1392923

今天的关于【liunx】Linux下的压缩和解压缩命令——jarlinux命令解压jar包的分享已经结束,谢谢您的关注,如果想了解更多关于linux 压缩和解压缩命令大全、linux 系统下 tar 的压缩与解压缩命令、Linux下tar bz gz等压缩包的压缩和解压、Linux下tar bz gz等压缩包的压缩和解压【转】的相关知识,请在本站进行查询。

本文标签: