Linux unzip 完全ガイド:解凍から文字化け防止まで実務で役立つ重要テクニック

概要

Linux環境でZIPファイルを解凍する際によく使われるunzipコマンドの基本的な使い方と、実務で必須となるオプションを紹介します。ファイル一覧の事前確認、指定ディレクトリへの解凍、Windowsで作成されたファイルの文字化け解消法まで、ステップバイステップで解説します。

unzip パッケージのインストールとテスト用圧縮ファイルの準備

Ubuntu環境で圧縮ファイルの解凍および作成を行うため、sudo apt-get update -qq && sudo apt-get install -y unzip zipコマンドを実行して必要なパッケージをインストールします。

sudo apt-get update -qq && sudo apt-get install -y unzip zip

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

mkdir -p ~/unzip-demo && cd ~/unzip-demo

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

echo ‘Hello Linux’ > file1.txt && echo ‘Config Content’ > config.cfg

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

zip -r sample.zip file1.txt config.cfg

解凍せずに中身をプレビューする (unzip -l)

実習ファイルが配置されている作業ディレクトリへ移動するために、cd ~/unzip-demoコマンドを実行します。

cd ~/unzip-demo

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

unzip -l sample.zip

指定ディレクトリへの解凍と既存ファイルの上書き制御 (unzip -d, -o)

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

cd ~/unzip-demo

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

mkdir -p ./extracted

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

unzip sample.zip -d ./extracted

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

unzip -o sample.zip -d ./extracted

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

ls -la ./extracted

特定のファイルのみを選択して解凍する

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

cd ~/unzip-demo

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

mkdir -p ./selective

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

unzip sample.zip file1.txt -d ./selective

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

ls -la ./selective

Windowsで圧縮されたファイルの文字化け防止 (unzip -O CP949)

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

cd ~/unzip-demo

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

mkdir -p ./korean-test

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

unzip -O CP949 sample.zip -d ./korean-test

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

ls -la ./korean-test

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