ZIPは、ロスレスデータ圧縮をサポートする最も広く使用されているアーカイブファイル形式です。 ZIPファイルは、1つ以上の圧縮ファイルまたはディレクトリを含むデータコンテナです。
このチュートリアルでは、unzip
を使用してコマンドラインからLinuxシステムでファイルを解凍する方法を説明します。 コマンド。
unzip
のインストール #
unzip
ほとんどのLinuxディストリビューションにはデフォルトでインストールされていませんが、ディストリビューションのパッケージマネージャーを使用して簡単にインストールできます。
unzip
UbuntuとDebianで# sudo apt install unzip
unzip
CentOSとFedoraで# sudo yum install unzip
ZIPファイルを解凍する方法#
最も単純な形式では、オプションなしで使用すると、unzip
コマンドは、指定されたZIPアーカイブから現在のディレクトリにすべてのファイルを抽出します。
例として、WordpressのinstallationZIPファイルをダウンロードしたとします。このファイルを現在のディレクトリに解凍するには、次のコマンドを実行するだけです。
unzip latest.zip
ZIPファイルはLinuxスタイルの所有権情報をサポートしていません。抽出されたファイルは、コマンドを実行するユーザーが所有します。
ZIPアーカイブを抽出するディレクトリに対する書き込み権限が必要です。
unzip
の出力を抑制します コマンド#
デフォルトでは、unzip
抽出するすべてのファイルの名前と、抽出が完了すると概要を出力します。
-q
を使用します これらのメッセージの印刷を抑制するように切り替えます。
unzip -q filename.zip
ZIPファイルを別のディレクトリに解凍します#
ZIPファイルを現在のディレクトリとは異なるディレクトリに解凍するには、-d
を使用します スイッチ:
unzip filename.zip -d /path/to/directory
たとえば、WordPressアーカイブlatest.zip
を解凍するには /var/www/
へ ディレクトリの場合、次のコマンドを使用します:
sudo unzip latest.zip -d /var/www
上記のコマンドでは、sudo
を使用しています 通常、ログインしているユーザーには/var/www
への書き込み権限がないためです。 ディレクトリ。 sudo
を使用してZIPファイルを解凍する場合 、抽出されたファイルとディレクトリはユーザーrootが所有します。
パスワードで保護されたZIPファイルを解凍します#
パスワードで保護されているファイルを解凍するには、unzip
を呼び出します。 -P
を使用したコマンド オプションの後にパスワードが続く:
unzip -P PasswOrd filename.zip
コマンドラインでのパスワードの入力は安全ではないため、避ける必要があります。より安全なオプションは、パスワードを提供せずに通常どおりファイルを抽出することです。 ZIPファイルが暗号化されている場合は、unzip
パスワードの入力を求めるプロンプトが表示されます:
unzip filename.zip
archive: filename.zip
[filename.zip] file.txt password:
unzip
正しい限り、すべての暗号化されたファイルに同じパスワードを使用します。
ZIPファイルを解凍するときにファイルを除外する#
特定のファイルまたはディレクトリを抽出から除外するには、-x
を使用します オプションの後に、抽出から除外するアーカイブファイルのスペース区切りのリストが続きます:
unzip filename.zip -x file1-to-exclude file2-to-exclude
次の例では、.git
を除くすべてのファイルとディレクトリをZIPアーカイブから抽出しています。 ディレクトリ:
unzip filename.zip -x "*.git/*"
既存のファイルを上書きする#
すでにZIPファイルを解凍し、同じコマンドを再度実行しているとします。
unzip latest.zip
デフォルトでは、unzip
現在のファイルのみを上書きするか、すべてのファイルを上書きするか、現在のファイルの抽出をスキップするか、すべてのファイルの抽出をスキップするか、現在のファイルの名前を変更するかを尋ねられます。
Archive: latest.zip
replace wordpress/xmlrpc.php? [y]es, [n]o, [A]ll, [N]one, [r]ename:
プロンプトを表示せずに既存のファイルを上書きする場合は、-o
を使用します オプション:
unzip -o filename.zip
このオプションは注意して使用してください。ファイルに変更を加えた場合、変更は失われます。
既存のファイルを上書きせずにZIPファイルを解凍する#
すでにZIPファイルを解凍し、いくつかのファイルに変更を加えたが、誤っていくつかのファイルを削除したとします。変更を保持し、ZIPアーカイブから削除されたファイルを復元する必要があります。
この場合、-n
を使用します unzip
を強制するオプション すでに存在するファイルの抽出をスキップするには:
unzip -n filename.zip
複数のZIPファイルを解凍する#
正規表現を使用して、複数のアーカイブを照合できます。
たとえば、現在の作業ディレクトリに複数のZIPファイルがある場合は、次の1つのコマンドだけを使用してすべてのファイルを解凍できます。
unzip '*.zip'
*.zip
を一重引用符で囲んでいることに注意してください 。引数を引用するのを忘れた場合、シェルはワイルドカード文字を展開し、エラーが発生します。
Zipファイルの内容を一覧表示する#
ZIPファイルの内容を一覧表示するには、-l
を使用します オプション:
unzip -l filename.zip
以下の例では、すべてのWordPressインストールファイルを一覧表示しています。
unzip -l latest.zip
出力は次のようになります:
Archive: latest.zip
Length Date Time Name
--------- ---------- ----- ----
0 2018-08-02 22:39 wordpress/
3065 2016-08-31 18:31 wordpress/xmlrpc.php
364 2015-12-19 12:20 wordpress/wp-blog-header.php
7415 2018-03-18 17:13 wordpress/readme.html
...
...
21323 2018-03-09 01:15 wordpress/wp-admin/themes.php
8353 2017-09-10 18:20 wordpress/wp-admin/options-reading.php
4620 2017-10-24 00:12 wordpress/wp-trackback.php
1889 2018-05-03 00:11 wordpress/wp-comments-post.php
--------- -------
27271400 1648 files
結論#
unzip
は、圧縮されたZIPアーカイブの一覧表示、テスト、および抽出を支援するユーティリティです。
LinuxシステムでZIPアーカイブを作成するには、zipコマンドを使用する必要があります。
ご不明な点がございましたら、お気軽にコメントをお寄せください。