コマンドラインからZipアーカイブを作成および抽出するにはどうすればよいですか?
通常、tar
を使用して非圧縮アーカイブを作成し、gzip
またはbzip2
を使用してそのアーカイブを圧縮します。対応するgunzip
およびbunzip2
コマンドを使用して、上記のアーカイブを解凍するか、tar
コマンドでフラグを使用して解凍を実行できます。
特に Zipファイル形式 を参照している場合は、Zip
およびunzip
コマンドを使用するだけで済みます。
圧縮するには:
Zip squash.Zip file1 file2 file3
またはディレクトリを圧縮する
Zip -r squash.Zip dir1
解凍するには:
unzip squash.Zip
これにより、現在の作業ディレクトリに解凍されます。
UNIXでの圧縮と解凍には、本当にvastさまざまな方法があるので、特定ではなく、一般的な意味で「Zip」を意味していると想定します。ファイル形式。
GNU tar
プログラムを使用して、ファイルを圧縮形式で圧縮できます。
tar -zcvf myfile.tgz .
現在のディレクトリを実行します。他のファイルが必要な場合は、.
を他のファイル名に置き換えます。
そのファイルを解凍するには、次を使用します。
tar -zxvf myfile.tgz
もちろん、ファイルを1つに結合するだけでなく、圧縮を実行できるtar
があることを前提としています。
そうでない場合は、tar cvf
の後にgzip
を付けて(もしあれば)圧縮に使用し、gunzip
の後にtar xvf
を付けます。
Zip形式のファイルの特定の処理については、7Zip
をダウンロードして使用することをお勧めします。これは、Zip形式を含むhugeのさまざまなファイル形式を認識します。
Zipおよびunzipパッケージがインストールされておらず、Javaがある場合は、jar
を使用して解凍できます。
jar -xf file.Zip
まあ、さまざまなオペレーティングシステム用のファイルを配布することになると、 7-Zip をお勧めします。
通常、パッケージp7Zip
には、独自の7zアーカイブを作成できる7z
および7za
コマンドが含まれています。
7za
は、標準( pkzip )Zipアーカイブを解凍することもできます(-tzip
スイッチを使用してアーカイブを作成することもできます)。
圧縮:
7za a archive.7z file1 file2 directory/
解凍:
7za x archive.7z
-sfx
スイッチを使用して自己解凍型アーカイブを作成することもできます。
7za a -sfx archive.exe files1 file2 dir
Windowsユーザーが7zアーカイブを開けない場合に備えて、この方法をお勧めします(そのためのツールをアドバイスしたい場合: PeaZip )。
Tarballで同じ圧縮アルゴリズムを使用する場合は、tar
で-J
スイッチを使用します。
tar cJf archive.tar.xz file1 file2 dir
xz
はUNIXツールであり、圧縮にLZMA2を使用しますが、gz
、bz2
などが機能します。フィルターとしても機能します。
7zはUNIXで完全なファイルシステム情報を含むアーカイブを作成しないため、7zを使用する前にtar
を使用する必要があります(ただし、7zはtar
ファイルに関する他の情報を保存するため、お勧めしますxz
を使用して設計されているため):
tar cf - file1 file2 dir | 7za z -si archive.tar.7z
unzip <filename>
そして
Zip -r archive.Zip <filename> [filename]
これらのコマンドがパッケージマネージャー経由でインストールされていることを確認する必要があります。コマンドラインで他のものを使用するよりも簡単です。 tarでアーカイブを作成するよりも確かに簡単です。
BSD Tarもこれを行うことができます
bsdtar -a -c -f sunday.Zip sunday.jpg
または:
bsdtar -x -f sunday.Zip
これは抽出のみをカバーしています。
そのため、私は dtrx
を使い始めました。
それの要点は、複雑さを取り除くことです。したがって、アーカイブをそれに渡すだけで、アーカイブで何を実行する必要があるかがわかります。 Zip、tar、gz ...使用法は常に同じです— dtrx archive.Zip
。いくつかの質問をするだけで完了です。
dtrx
はほとんどのリポジトリで使用できるため、apt
| yum
をインストールできます。
自分の作業ディレクトリにある変更されたファイルをZip圧縮しようとすることがよくあります-変更されたすべてのファイルを別のサンドボックス作業ディレクトリにコピーするか、一部の変更を元に戻したいのでしばらく保存します。
その場合、変更されたファイルのリストを一時ファイルにコピーし、Zip
をオプション-@
とともに使用します。
ファイルFoo.h、Bar.cc、TestBar.ccを変更したとしましょう。
内容が次のように変更されたfiles.txtというファイルを作成するとします。
Foo.h
Bar.cc
TestBar.cc
次のコマンドを実行して、これらのファイルを圧縮します。
cat modified-files.txt | Zip modified-files.Zip -@