Ubuntu 22.04 サーバー / ZIP ファイルの抽出方法

Ubuntu 22.04 サーバーで ZIP ファイルを抽出するには、unzip をインストールし、その後 unzip example.zip を実行します。デフォルトでは、ZIP ファイルの内容は現在の作業ディレクトリに抽出されますが、-d オプションで別の場所を指定することもできます。

unzip のインストールとファイルの場所の確認

unzipはZIPファイルの内容を確認し、抽出するためのコマンドです。まず、インストールされているか確認し、コマンドが見つからない場合はパッケージをインストールしてください。パッケージリストの更新とインストールには管理者権限とパッケージリポジトリへのアクセスが必要です。

unzip -v
sudo apt update
sudo apt install unzip

抽出する前に、pwdで現在の場所を確認し、lsでZIPファイルが存在するか確認してください。以下の例では、example.zipを実際のファイル名またはパスに置き換えてください。ファイル名にスペースが含まれている場合は、"my archive.zip"のように引用符で囲んでください。

一覧と基本的な抽出を確認する

以下のコマンドは、ファイルを抽出せずにリストを表示します。名前、サイズ、フォルダ構造を確認して、どこに抽出されるかを確認してください。

unzip -l example.zip

現在のディレクトリに抽出するには、次のコマンドを実行します。ZIPにサブフォルダが保存されている場合、その構造も作成されます。同名のファイルがすでに存在する場合は、デフォルトで上書きするかどうかを尋ねられます。

unzip example.zip

完了後、lsで結果を確認してください。ZIPに最上位フォルダがない場合、複数のファイルが直接現在のディレクトリに表示されることがあるため、既存のファイルと混ざらないように別の場所に抽出するのが便利です。

希望のフォルダに抽出する

-d の後に抽出先を指定してください。以下の例では、書き込み権限のある output ディレクトリを作成し、その中に抽出します。

mkdir -p output
unzip example.zip -d output
ls output

圧縮ファイルに保存されているフォルダ構造は output の下で維持されます。別の場所にパスを変更する場合は、そこにファイルを作成する権限と十分なディスク容量があることを確認してください。通常、sudo は自分のファイルを抽出する際には必要ありません。

一部のファイルの上書きと抽出

同名のファイルがすでに存在し、確認なしでスキップしたい場合は -n を使用してください。圧縮ファイルの内容が新しい場合でも、既存のファイルは保持されるので、結果が予想通りであることを確認してください。

unzip -n example.zip -d output

-o は同名のファイルを確認なしで上書きするため、既存のファイルを変更しても問題ない場合にのみ注意して使用してください。アーカイブ全体ではなく特定のファイルのみが必要な場合は、ファイル名の後に ZIP 内の正確なパスを指定できます。

unzip example.zip "docs/readme.txt" -d output

まず、リスト内で docs/readme.txt が実際に存在するかを確認してください。ワイルドカードを使用する場合、シェルが先に展開しないように、パターンを引用符で囲むことが重要です。

エラーが発生した場合

アーカイブにエラーがないか確認するには、次のコマンドを実行してください。-t は各エントリをメモリ内で抽出し、計算した CRC と保存された値を比較します。エラーが報告されないことを確認してください。このチェックは、ファイルが信頼できるか、悪意のある内容が含まれていないことを意味するものではありません。

unzip -t example.zip
  • ファイルが見つかりません: 現在の場所、ファイル名、大文字小文字の区別、パスを確認してください。
  • 権限エラーまたは空き容量不足: 対象ディレクトリの書き込み権限と残り容量を確認し、必要に応じて書き込み可能な別のフォルダを選択してください。
  • 破損またはサポートされていない圧縮: ダウンロードが完了していることを確認し、元のファイルを再度受信してください。暗号化または圧縮の方法によっては、インストールされているツールがサポートしていない場合があります。
  • ファイル名の破損: ZIPが作成された環境の文字エンコーディングと使用しているツールのサポートを確認してください。UTF-8ファイル名で再作成されたファイルがある場合は、比較してみてください。

不明なソースのZIPは、まず内容を確認し、別のディレクトリに抽出する必要があります。内容および整合性の確認は完全なセキュリティチェックの代わりにはなりません。また、内容を確認する前にアーカイブ内のスクリプトや実行可能ファイルを実行しないでください。オプションの全セットはunzip -hまたはUbuntu 22.04 unzipのドキュメントで確認できます。