
そして数字が増え続けています。アーカイブ/圧縮ファイル形式をすべて管理できる無料/オープンソースのコマンドラインツールはありますか?一貫して統一されたフラグセットがありますか? (私の友達に注意してくださいtarへの暗黙の参照)
かつて別のユーティリティにリンクされているファイルを圧縮/圧縮解除する作業を大幅に簡素化するように設計されたエイリアスセットが見つかりましたが、見つかりませんtar
でした。
修正する:atool
zipファイルを抽出せずにunzip
(明らかに4GBを超えるファイルを処理できません)、使用するように設定するにはどうすればよいですかgunzip
?
$ aunpack large_file.zip
error: Zip file too big (greater than 4294959102 bytes)
Archive: large_file.zip
warning [large_file.zip]: 1491344848 extra bytes at beginning or within zipfile
(attempting to process anyway)
error [large_file.zip]: start of central directory not found;
zipfile corrupt.
(please check that you have transferred or created the zipfile in the
appropriate BINARY mode and that you have compiled UnZip properly)
aunpack: unzip ...: non-zero return-code
答え1
私は使うツール。操作が完了します。これはさまざまな(すべてではない)形式で機能します。
tar、gzip、bzip2、bzip、lzip、lzop、lzma、zip、rar、lha、arj、arc、p7zipなど
これらの圧縮ツールはまだ必要ですが、ツールはフロントエンドにすぎません。
als
特に、サポートされているアーカイブ形式の内容を一覧表示するために提供するコマンドが好きです。
基本atool
コマンドは独自のフラグを使用してアーカイブを抽出します(そのフラグを特定の基本抽出ツールに渡します)。
ああ、それはいくつかのディストリビューションのリポジトリにあります(私の場合はFedoraですが、Ubuntuを使用したときにリポジトリにはありませんでした。Tarballからインストールしました)。
リポジトリの更新:atoolは次のディストリビューションのリポジトリにあります(現在のバージョンのみを確認してください):
- Fedoraの帽子
- Debian(@terdonに感謝し、おそらくUbuntuのような派生製品でしょう)
- Ubuntu(qedやおそらくMintなどの派生製品)
- オープンスース
- CentOS(およびおそらくRHEL)
- アーキテクチャLinux
私は他のものがあると確信しています...最も近代的なディストリビューションのようです。
「zipファイルを抽出するためにunzipを使用せずに代わりにgunzipを使用するようにatoolのようなものを設定するにはどうすればよいですか?」質問に対する回答を更新します。:
atool 構成ファイルを編集し、~/.atoolrc
次の行を追加します。
path_unzip /usr/bin/gunzip
gunzip プログラムの正しいパスです。
この構成ファイルに入れることができる可能な変数の完全なリストについては、マニュアルページを参照してください。たくさん。 gunzipにunzipとは異なるコマンドラインオプションが必要な場合は、atoolソースコード(perl)自体を変更する必要があるかもしれません。
答え2
これは、さまざまなアーカイブタイプを処理する小さなシェル機能です。
extract () {
if [ ! -f "$1" ] ; then
echo "'$1' does not exist."
return 1
fi
case "$1" in
*.tar.bz2) tar xvjf "$1" ;;
*.tar.xz) tar xvJf "$1" ;;
*.tar.gz) tar xvzf "$1" ;;
*.bz2) bunzip2 "$1" ;;
*.rar) rar x "$1" ;;
*.gz) gunzip "$1" ;;
*.tar) tar xvf "$1" ;;
*.tbz2) tar xvjf "$1" ;;
*.tgz) tar xvzf "$1" ;;
*.zip) unzip "$1" ;;
*.Z) uncompress "$1" ;;
*.xz) xz -d "$1" ;;
*.7z) 7z x "$1" ;;
*.a) ar x "$1" ;;
*) echo "Unable to extract '$1'." ;;
esac
}
見つけました。オリジナルar
この機能は、アーカイブおよびxz圧縮アーカイブを抽出するためにいくつかの修正を経て、オンラインのどこかで参照されますtar
。
答え3
これAVFS/path/to/foo.zip
ファイルシステムは、各アーカイブファイル(たとえば)がディレクトリ(~/.avfs/path/to/foo/zip#
この例では)としてアクセスできるファイルシステムビューを提供します。 AVFSは、最も一般的なアーカイブファイル形式への読み取り専用アクセスを提供します。
mountavfs
cp -Rp ~/.avfs$PWD/large_file.zip\# extraction_directory
Avfsはファイルを編集して簡単に設定できる外部ヘルパーを使用します(残念ながら、avfs 1.0以降はホームディレクトリのファイルが/usr
利用できないため、ファイルを編集または再コンパイルする必要があります)。ファイルを処理するスクリプトです。使用しない場合は変更してください。代わりに7zを使用することもできます。行を編集して。/usr/local
/usr
/usr/share/avfs/extfs/ext-uzip
.zip
/usr/bin/unzip
/usr/share/avfs/extfs/extfs.ini
ext-uzip
u7z .zip
答え4
無料アーカイブはマルチフォーマットアーカイブおよび圧縮ライブラリサポートするさまざまなアーカイブと圧縮形式。
bsdtar
それぞれ -like API を使用するbsdcpio
コマンドラインインタフェースです。tar
cpio
したがって、これらのユーティリティに既に慣れている場合は、コマンドラインインターフェイスを学ぶ必要はありません。
.iso
、、、、...ファイルを解凍するには.zip
、次の手順を実行します.cab
。.7z
.tar.gz.xz.bz2
bsdtar xf file.<ext>
tar xf file.tar
従来のコマンドを使用するのと同じですtar
。