複数のアーカイブタイプにわたって一貫したインターフェイスを提供するプログラムはありますか?


13

現時点では、圧縮ファイルをダウンロードすると、.tar.gzアーカイブ、tar.bz2 arhive、.zipアーカイブ、または.gzアーカイブのいずれかになります。そして、そのたびに、そのプログラムのコマンドラインオプションを覚えておく必要があります。

私がちょうど行くことができるCLIプログラムはありますか?

圧縮解除somefile。??

アーカイブの形式を把握させてください。(実際のプログラムとの競合を避けるために使用される非常に長い名前)


私は、次のような任意のタグ検索または作成することができませんでしたarchivecompressionなど他の誰かが正しいものを追加することができますか?
マチャ

@Tshepang:修正されました。
マッチャ

回答:


11

p7zipを使用できます。アーカイブタイプを自動的に識別し、解凍します。

p7zipはUnix / Linux用の7-Zipのコマンドラインバージョンで 、独立した開発者によって作成されました。

7z e <file_name>


5

私は少し前にこの小さなスニペットを見つけて以来、それを使用しています。私はちょうどそれを私の.bashrcファイルに持っています

extract () {
if [ -f $1 ] ; then
    case $1 in
        *.tar.bz2)  tar xjf $1      ;;
        *.tar.gz)   tar xzf $1      ;;
        *.bz2)      bunzip2 $1      ;;
        *.rar)      rar x $1        ;;
        *.gz)       gunzip $1       ;;
        *.tar)      tar xf $1       ;;
        *.tbz2)     tar xjf $1      ;;
        *.tgz)      tar xzf $1      ;;
        *.zip)      unzip $1        ;;
        *.Z)        uncompress $1   ;;
        *)          echo "'$1' cannot be extracted via extract()" ;;
    esac
else
    echo "'$1' is not a valid file"
fi
}

1
これは受け入れられた答えよりも効果的です。ファイルを7z e foo.tar.gz残すだけだからfoo.tarです。
ウィルフレッドヒューズ

2

Debian / Ubuntuには、unp多くのアーカイブユーティリティのフロントエンドとして機能するPerlスクリプトであるパッケージがあります。



1

GNU tar(およびstar)には、少なくともいくつかの圧縮自動検出機能があります。

tar xf foo.tar.gz
tar xf foo.tar.bz

ただ動作します。


それは自動検出できるフォーマットのtarのバージョンに依存しますが、それ以外starはうまく機能します... IIRC は実際にはGNUのtarが非標準の拡張であるより標準化された方法です。
xenoterracide

GNU tarの最新バージョンは、圧縮フィルタースイッチ(z、j、J、-lzma)のいずれかで作成されたすべての圧縮アーカイブを圧縮解除でき、圧縮を自動的に検出します。
ポレモン

@xenoterracide:さて、starの作者は、GNU tarを彼の通常のスタイルで多く批判しています-これらの文章は偏っている可能性があり(starについての悪い点とGNU tarについての良い点を無視)、おそらくFUDを含んでおり、おそらく時代遅れです。
maxschlepzig

1

私が思うにKDEアーカイブツールは GUIなしで実行することができます。マンページからarkark

ark --batch archive.tar.bz2

GUIを表示せずにarchive.tar.bz2を現在のディレクトリに抽出します。

さまざまなアーカイブ形式のArksサポートは、インストールしたアプリに依存します(たとえば、rarの場合はunrarに依存します)が、処理できない形式については知りません。



0

Unarchiverは、一貫性のあるインターフェースで約50種類のフォーマットの抽出をサポートしています。

デフォルトでは、複数のトップレベルのファイルまたはフォルダーがある場合、ディレクトリが作成されます。

man-pageを表示します

コマンドラインバージョンはLinuxをサポートしており、こちらから入手できます

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.