Linux下有没有万能的解压方法,会自动分析拓展名,然后用不同的命令进行解压 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
oldcai
0.01D
V2EX    Linux

Linux下有没有万能的解压方法,会自动分析拓展名,然后用不同的命令进行解压

  •  
  •   oldcai
    PRO
    oldcai Dec 26, 2013 8978 views
    This topic created in 4505 days ago, the information mentioned may be changed or developed.
    29 replies    2016-12-26 15:58:13 +08:00
    Ever
        1
    Ever  
       Dec 26, 2013   1
    file-roller用libarchive
    aunpack也可以
    RagnarokStack
        2
    RagnarokStack  
       Dec 26, 2013
    unar,不过压缩包内的软连有时候解压出来会有错误
    foru17
        3
    foru17  
       Dec 26, 2013
    自己写个 function 不就行了,shell 还是很强大的。
    9hills
        4
    9hills  
       Dec 26, 2013
    GNOME自带的file-roller就可以
    ensonmj
        5
    ensonmj  
       Dec 26, 2013 via iPhone   1
    tar -xf
    wenLiangcan
        6
    wenLiangcan  
       Dec 26, 2013
    file-roller
    Ansen
        7
    Ansen  
       Dec 26, 2013
    同3楼
    自己写个脚本就行了
    momo5269
        8
    momo5269  
       Dec 26, 2013
    我是用peazip - -
    46fo
        9
    46fo  
       Dec 26, 2013 via iPhone
    扩展名假的。前四个字节 会比较准
    strak47
        10
    strak47  
       Dec 26, 2013
    yxjxx
        11
    yxjxx  
       Dec 26, 2013   1
    难道没有人在用zsh强大的alias么?
    示例:

    alias -s gz='tar -xzvf'
    alias -s tgz='tar -xzvf'
    alias -s zip='unzip'
    alias -s bz2='tar -xjvf'
    ivenvd
        12
    ivenvd  
       Dec 26, 2013
    tar 本身就能自动识别文件类型啊: tar xf
    leecade
        13
    leecade  
       Dec 26, 2013   3
    # Extract archives - use: extract <file>
    # Credits to http://dotfiles.org/~pseup/.bashrc
    function extract () {
    if [ -f $1 ] ; then
    case $1 in
    *.tar.bz2) tar xjf $1 ;;
    *.tar.gz) tar xzf $1 ;;
    *.bz2) bunzip2 $1 ;;
    *.rar) unrar e $1 ;;
    *.gz) gunzip $1 ;;
    *.tar) tar xf $1 ;;
    *.tbz2) tar xjf $1 ;;
    *.tgz) tar xzf $1 ;;
    *.zip) unzip $1 ;;
    *.Z) uncompress $1 ;;
    *.7z) 7z x $1 ;;
    *) echo "'$1' cannot be extracted via extract()" ;;
    esac
    else
    echo "'$1' is not a valid file"
    fi
    }
    loggerhead
        14
    loggerhead  
       Dec 26, 2013
    zsh plugin: extract
    shakoon
        15
    shakoon  
       Dec 26, 2013
    @leecade 建议用file来判断文件类型。比如war就可能是tar也可能是zip
    Sin
        16
    Sin  
       Dec 27, 2013
    7z x
    tinytub
        17
    tinytub  
       Dec 27, 2013
    tar -xf 足够了
    LazyZhu
        18
    LazyZhu  
       Dec 27, 2013
    @leecade 不全啊, 下面这两个也很常见
    *.tar.lz
    *.tar.xz
    VYSE
        19
    VYSE  
       Dec 27, 2013
    一个SHELL,判断MAGIC,然后调相应解压程序即可.
    现成的:dtrx atool
    efi
        21
    efi  
       Dec 27, 2013
    aunpack专门设计来做这个。不宜自己写脚本造轮子。
    likuku
        22
    likuku  
       Dec 27, 2013   1
    @yxjxx 现代的 tar 已经可以直接 tar xvf 就支持自动 gz,bz2,等了。
    oldcai
        23
    oldcai  
    OP
    PRO
       Dec 27, 2013
    @Ever 感谢!
    aunpack试了下,很好很强大,本来还在想要是压缩也能按扩展名来压缩就好了,apack也满足了需求;

    @Jake 试了下e,也很好用,支持的格式也很全了,需要ruby环境。
    oldcai
        24
    oldcai  
    OP
    PRO
       Dec 27, 2013
    @wenLiangcan
    @9hills
    file-roller得有GUI吧,使用面窄了点。
    @ensonmj
    @tinytub
    @ivenvd
    tar xf一般的带tar的都是可以解的,但是zip什么的就不行了,不够高大全 ^__^
    ltzliwe
        25
    ltzliwe  
       Dec 27, 2013
    7z 不错的
    dant
        26
    dant  
       Dec 27, 2013 via iPhone
    bsdtar或者7z
    mckelvin
        27
    mckelvin  
       Dec 28, 2013
    Fuxiang
        28
    Fuxiang  
       Dec 29, 2013
    7zip
    Damon
        29
    Damon  
       Dec 26, 2016
    unp
    About     Help     Advertise     Blog     API     FAQ     Solana     5753 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 104ms UTC 01:45 PVG 09:45 LAX 18:45 JFK 21:45
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86