V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
oldcai
V2EX  ›  Linux

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

  •  
  •   oldcai ·
    oldcai · 2013-12-26 18:53:17 +08:00 · 8187 次点击
    这是一个创建于 3988 天前的主题,其中的信息可能已经有所发展或是发生改变。
    29 条回复    2016-12-26 15:58:13 +08:00
    Ever
        1
    Ever  
       2013-12-26 18:56:12 +08:00   ❤️ 1
    file-roller用libarchive
    aunpack也可以
    RagnarokStack
        2
    RagnarokStack  
       2013-12-26 19:07:58 +08:00
    unar,不过压缩包内的软连有时候解压出来会有错误
    foru17
        3
    foru17  
       2013-12-26 19:51:08 +08:00
    自己写个 function 不就行了,shell 还是很强大的。
    9hills
        4
    9hills  
       2013-12-26 19:52:47 +08:00
    GNOME自带的file-roller就可以
    ensonmj
        5
    ensonmj  
       2013-12-26 19:56:25 +08:00 via iPhone   ❤️ 1
    tar -xf
    wenLiangcan
        6
    wenLiangcan  
       2013-12-26 21:02:44 +08:00
    file-roller
    Ansen
        7
    Ansen  
       2013-12-26 21:05:25 +08:00
    同3楼
    自己写个脚本就行了
    momo5269
        8
    momo5269  
       2013-12-26 21:45:55 +08:00
    我是用peazip - -
    xdeng
        9
    xdeng  
       2013-12-26 21:48:43 +08:00 via iPhone
    扩展名假的。前四个字节 会比较准
    strak47
        10
    strak47  
       2013-12-26 22:19:17 +08:00
    yxjxx
        11
    yxjxx  
       2013-12-26 22:31:40 +08:00   ❤️ 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  
       2013-12-26 23:25:57 +08:00
    tar 本身就能自动识别文件类型啊: tar xf
    leecade
        13
    leecade  
       2013-12-26 23:35:32 +08:00   ❤️ 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  
       2013-12-26 23:47:53 +08:00
    zsh plugin: extract
    shakoon
        15
    shakoon  
       2013-12-26 23:58:00 +08:00
    @leecade 建议用file来判断文件类型。比如war就可能是tar也可能是zip
    Sin
        16
    Sin  
       2013-12-27 00:09:12 +08:00
    7z x
    tinytub
        17
    tinytub  
       2013-12-27 00:11:39 +08:00
    tar -xf 足够了
    LazyZhu
        18
    LazyZhu  
       2013-12-27 00:23:50 +08:00
    @leecade 不全啊, 下面这两个也很常见
    *.tar.lz
    *.tar.xz
    VYSE
        19
    VYSE  
       2013-12-27 01:21:05 +08:00
    一个SHELL,判断MAGIC,然后调相应解压程序即可.
    现成的:dtrx atool
    Jake
        20
    Jake  
       2013-12-27 02:20:50 +08:00   ❤️ 1
    efi
        21
    efi  
       2013-12-27 04:59:16 +08:00
    aunpack专门设计来做这个。不宜自己写脚本造轮子。
    likuku
        22
    likuku  
       2013-12-27 09:57:34 +08:00   ❤️ 1
    @yxjxx 现代的 tar 已经可以直接 tar xvf 就支持自动 gz,bz2,等了。
    oldcai
        23
    oldcai  
    OP
       2013-12-27 11:10:54 +08:00
    @Ever 感谢!
    aunpack试了下,很好很强大,本来还在想要是压缩也能按扩展名来压缩就好了,apack也满足了需求;

    @Jake 试了下e,也很好用,支持的格式也很全了,需要ruby环境。
    oldcai
        24
    oldcai  
    OP
       2013-12-27 11:26:49 +08:00
    @wenLiangcan
    @9hills
    file-roller得有GUI吧,使用面窄了点。
    @ensonmj
    @tinytub
    @ivenvd
    tar xf一般的带tar的都是可以解的,但是zip什么的就不行了,不够高大全 ^__^
    ltzliwe
        25
    ltzliwe  
       2013-12-27 11:39:05 +08:00
    7z 不错的
    dant
        26
    dant  
       2013-12-27 12:22:09 +08:00 via iPhone
    bsdtar或者7z
    mckelvin
        27
    mckelvin  
       2013-12-28 00:56:04 +08:00
    Fuxiang
        28
    Fuxiang  
       2013-12-29 12:37:59 +08:00
    7zip
    Damon
        29
    Damon  
       2016-12-26 15:58:13 +08:00
    unp
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5971 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 02:44 · PVG 10:44 · LAX 18:44 · JFK 21:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.