红联Linux门户
Linux帮助

用命令如何一次解压所有的压缩文件

发布时间:2009-04-03 00:19:36来源:红联作者:noenil
同一种压缩文件如何全部解压?如果不同格式的呢,比如有tar.gz,tgz,bz2混在一起的压缩文件。
文章评论

共有 10 条评论

  1. henryhj 于 2009-04-06 14:35:36发表:

    引用:
    呵呵,不好意思,我还真不知道file还有这个功能。一直以来我都以为file只能识别binary和ascii的区别,受教了。不过我还是坚持我的做法,尽管后缀名不可靠但是它更简单。
    wang7131984 发表于 2009-4-6 14:24

    呵呵,说实在的,其实平时我也是按照后缀名来区分文件的,windows下习惯了(o):tx 其实实际处理的话,或者也不会用这个,毕竟这样一来又要用cut或者awk,先得比较繁琐,估计平常基本也不会有人改后缀,简单易用方为王道:0wpoi2

  2. wang7131984 于 2009-04-06 14:24:47发表:

    呵呵,不好意思,我还真不知道file还有这个功能。一直以来我都以为file只能识别binary和ascii的区别,受教了。不过我还是坚持我的做法,尽管后缀名不可靠但是它更简单。

  3. henryhj 于 2009-04-06 14:13:03发表:

    [i=s] 本帖最后由 henryhj 于 2009-4-6 14:16 编辑 [/i]

    引用:
    1L的方法有问题,file是能指出文件的类型而不是指出文件的格式。所以无论你怎么file,tgz,bz2都binary,它是不可能识别后缀的。其实使用最简单ls就能识别出到底是哪一个后缀,何必这么麻烦。
    ls *.tar.gz
    ls *.tgz ...
    wang7131984 发表于 2009-4-6 12:03

    没问题吧,不信你看[code]$ file LFS-6.1-zh_CN.tar.bz2
    LFS-6.1-zh_CN.tar.bz2: bzip2 compressed data, block size = 900k
    $ file ubuntutor.tar.gz
    ubuntutor.tar.gz: gzip compressed data, from Unix, last modified: Tue Aug 8 18:19:57 2006
    [/code]我觉得后缀不是很可信
    比如我这样做[code]$ cp LFS-6.1-zh_CN.tar.bz2 filename
    $ file filename
    filename: bzip2 compressed data, block size = 900k
    $
    [/code]

  4. wang7131984 于 2009-04-06 12:03:22发表:

    1L的方法有问题,file是能指出文件的类型而不是指出文件的格式。所以无论你怎么file,tgz,bz2都binary,它是不可能识别后缀的。其实使用最简单ls就能识别出到底是哪一个后缀,何必这么麻烦。
    ls *.tar.gz
    ls *.tgz
    ls *.bz2
    另外我觉的全部解压实在没什么意义,至少我不会使用到这种功能。

  5. henryhj 于 2009-04-06 11:35:29发表:

    引用:

    相思爱文 发表于 2009-4-6 06:54

    原来有不必指定j,z的,学习了

  6. 相思爱文 于 2009-04-06 06:54:30发表:

    引用:
    相关知识点:
      大家可以注意到后面所有的解包命令均使用tar xvf来完成,而不管文件的压缩方式是bz2还是gz,这是因为较新的tar程序都具有自动识别后缀名并自动调用相应的解压缩工具的能力,所以可以不需要指定压缩方式,但对于早期的tar命令则可能不具备这个功能因此需要你根据包的压缩方式来指定,如bz2使用j,gz使用z,对应上面的binutils 则是tar xvjf /lfs-sources/binutils-2.17.tar.bz2
      因LFS的LiveCD中提供的tar版本比较新,后面制作的tar版本也比较新,因此支持自动识别的能力,同时为了使文章的解压命令看起来比较统一方便维护(同样对于想制作成脚本的朋友也会比较方便)因此后面统一使用tar xvf来解压。

  7. cwqing1973 于 2009-04-03 16:07:26发表:

    楼主,如果你自己能用给出解答,有重奖!!!!可以给你一点提醒,在编程可以用case这个选择。进而应用参数。

  8. cwqing1973 于 2009-04-03 16:05:32发表:

    用编程方法。产生一个自己用的新的命令,应该是可以的。

  9. xtygaht 于 2009-04-03 09:48:42发表:

    好想法```

  10. henryhj 于 2009-04-03 08:20:42发表:

    倒是有个思路,find出这几种归档文件,然后管道给file,测试出文件类型,然后根据file返回结果的不同,用case语句让tar对不同类型的文件用不同的参数解压