概要
Linux環境でZIPファイルを解凍する際によく使われるunzipコマンドの基本的な使い方と、実務で必須となるオプションを紹介します。ファイル一覧の事前確認、指定ディレクトリへの解凍、Windowsで作成されたファイルの文字化け解消法まで、ステップバイステップで解説します。
unzip パッケージのインストールとテスト用圧縮ファイルの準備
Ubuntu環境で圧縮ファイルの解凍および作成を行うため、sudo apt-get update -qq && sudo apt-get install -y unzip zipコマンドを実行して必要なパッケージをインストールします。

実習専用の作業スペースを作成し、そのディレクトリへ移動するためにmkdir -p ~/unzip-demo && cd ~/unzip-demoコマンドを実行します。

圧縮テストで使用するサンプルのテキストファイルおよび設定ファイルを作成するため、echo 'Hello Linux' > file1.txt && echo 'Config Content' > config.cfgコマンドを実行します。

実習用サンプルファイルをまとめて圧縮ファイルを作成するために、zip -r sample.zip file1.txt config.cfgコマンドを実行します。

解凍せずに中身をプレビューする (unzip -l)
実習ファイルが配置されている作業ディレクトリへ移動するために、cd ~/unzip-demoコマンドを実行します。

unzip -l sample.zipコマンドは、実際に解凍を行わずにアーカイブ内に含まれるファイル一覧や各ファイルのサイズ、更新日時を事前に確認します。
大容量の圧縮ファイルを解凍する前に、内部構造や必要なディスク容量を安全に確認したい場合に便利です。

指定ディレクトリへの解凍と既存ファイルの上書き制御 (unzip -d, -o)
実習対象の圧縮ファイルが配置されている作業ディレクトリへ移動するために、cd ~/unzip-demoコマンドを実行します。

解凍したファイルを個別に保存する出力先ディレクトリを作成するため、mkdir -p ./extractedコマンドを実行します。

unzip sample.zip -d ./extractedコマンドは、-dオプションで指定した./extractedディレクトリにアーカイブファイルの中身を展開します。
カレントディレクトリを散らかさず、特定の場所にファイルを整理して解凍したい場合に有効です。

unzip -o sample.zip -d ./extractedコマンドは、既存のファイルが既に存在していてもユーザーへの確認プロンプトを表示せずに強制的に上書きして解凍します。
スクリプトや自動デプロイ環境において、重複ファイルの上書き確認によって処理が中断するのを防ぐ場合によく使用されます。

展開先ディレクトリに正常に解凍が完了したか、ファイル一覧と詳細属性を確認するためにls -la ./extractedコマンドを実行します。

特定のファイルのみを選択して解凍する
実習対象の圧縮ファイルが配置されている作業ディレクトリへ移動するために、cd ~/unzip-demoコマンドを実行します。

選択して解凍するファイルを個別に保存する出力先ディレクトリを作成するため、mkdir -p ./selectiveコマンドを実行します。

unzip sample.zip file1.txt -d ./selectiveコマンドは、アーカイブ全体を解凍せず、指定したfile1.txtファイルのみを選択して抽出します。
大容量の圧縮ファイルから特定の設定ファイルや必要なログファイルだけをすばやく取り出して確認したい場合に非常に役立ちます。

指定したファイルのみが正しく抽出されたか、出力先ディレクトリのファイル一覧と詳細属性を確認するためにls -la ./selectiveコマンドを実行します。

Windowsで圧縮されたファイルの文字化け防止 (unzip -O CP949)
実習対象の圧縮ファイルが配置されている作業ディレクトリへ移動するために、cd ~/unzip-demoコマンドを実行します。

解凍されたファイルを安全に保存する出力先ディレクトリを作成するため、mkdir -p ./korean-testコマンドを実行します。

unzip -O CP949 sample.zip -d ./korean-testコマンドは、Windows環境のデフォルト文字エンコーディングであるCP949(EUC-KR)を指定し、韓国語ファイル名の文字化けを起こすことなく./korean-testディレクトリへ解凍します。
WindowsとLinuxシステム間の文字コードの違いによって発生するファイル名の文字化け問題をすっきりと解決できます。

指定した出力先ディレクトリにファイルが正常に解凍されたかを確認するため、ls -la ./korean-testコマンドを実行します。

ここまで、Linux環境におけるunzipコマンドを活用した基本的な解凍方法から文字化けの解決策まで、実務に役立つ主要なTipsを整理しました。
紹介したオプションをうまく活用し、ターミナルでの作業時にエンコーディングの問題に悩まされることなく、効率的に圧縮ファイルを扱ってみてください。