支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡


Linuxでzipを解凍!unzipコマンドとは

Linux環境でのzipを解答することができるunzipコマンドについて紹介していきます。
そもそもzipとはファイル圧縮形式の一つであり、Windowsでは非常にメジャーな圧縮形式ですね。アプリケーションを配布する際にも必要なプログラムをzipにまとめているものもよく見られます。今回はそのzipを解答する方法として一般的な方法であるunzipコマンドについて紹介していきます。

unzipの確認

LinuxではOSの環境によってunzipがインストールされていない場合があります。まずはこのコマンドを使って、unzipがインストールされている、つまりzipファイルが解凍できる状態にあるか確かめてみましょう。


$ yum list installed | grep zip

これは何をしているかというと「yum list installed」でインストールされているパッケージのリストを表示し、そして「grep zip」でそのリストの中から「zip」を含むものだけを表示することができます。「zip」が存在する場合は以下のように表示されます。


上の画面が表示されず、「unzip」コマンドを打ち込んでもみても「コマンドが見つかりません」と表示される場合は「unzip」のパッケージのインストールが必要です。以下のコードを打ち込みましょう。


$ sudo yum install zip unzip

今回は「unzip」だけでなく、「zip」のインストールも行いました。Linuxでは「unzip」では解凍のみなので、圧縮を行うことができる「zip」もインストールしておきます。
一応解説しておきますが、「sudo」は管理者権限で操作を行うコマンドで、「yum」でパッケージのインストールを行います。「unzip」と「zip」を半角スペースで区切ってインストールするパッケージを指定しています。このようにLinuxでは自分に必要なパッケージを選んで機能を拡張していくことが出来ます。Linuxの魅力の一つですね。

余談ですが、「yum」はLinuxのディストリビューションの一つであるCentOSではバージョン8ではデフォルトでは搭載されていません。「yum」の代わりに「dnf」がインストールする際のコマンドとなっています。これは、「yum」はpython2系のコマンドであるため、現在普及しつつあるpyhon3系には対応していないことから、python3系である「dnf」に変わりつつあるのです。なので、CentOS8を利用している方は上記のコマンドも「yum」を「dnf」にして下さい。

unzipコマンドを使ってみよう。

圧縮ファイルの作成

Linuxでのzipファイル解凍の準備ができましたので、早速使ってみましょう。「touch」コマンドや「mkdir」を駆使して、自分でサンプルとなるファイルを作ってみてください。まずはファイルを圧縮してみましょう。圧縮済みのファイルがないと解凍することもできませんね。


$ zip 圧縮後のファイル名 ファイル名

最も基本的な「zip」コマンドです。指定したファイルをzipに格納することが出来ます。
主なオプションコマンドは以下の通りです。

・-@…圧縮するファイル名を対話形式で入力
・-c …圧縮時にコメントを付ける
・-e …圧縮時にパスワードを指定
・-r …ディレクトリの圧縮
・-u …圧縮されているファイル内のファイルを更新
・-z …アーカイブにコメントを付ける

個人的に便利だと感じているのは「-r」オプションです。ディレクトリの中身も含めて一回の操作で圧縮を行うことが出来ます。Linuxではファイルのみかディレクトリも含めるのかといった細かな指定をすることが重要となっています。

圧縮ファイルの解凍

作成したテストファイルが保存されています。これを「unzip」コマンドで解凍してみましょう。


赤文字で表示されている「TEST01.zip」が、圧縮済みのファイルです。


$ unzip TEST01.zip(ファイル)

最も基本的な使い方となります。早速実行してみましょう。


unzipコマンドを実行すると、解凍の際に途中経過が端末に表示されます。「ls」コマンドで確認してみましょう。


「TEST01.zip」の中身である「a1」「b1」が新たに追加されていますね。

「unzip」での主な解凍の際にもオプションコードが活用できます。

・-u…更新があったファイル、新規ファイルだけ展開
・-f …ファイルの更新のみを行い、新規作成を行わない
・-o…確認せずに上書きを行う
・-n…上書きを行わない
・-x…除外ファイルを指定する
・-d…ディレクトリを指定して展開する
・-l …zip内のファイル一覧を表示する
・-q…途中経過のメッセージを減らす(「-qq」でさらに減らす)
・-v…途中経過のメッセージを詳しく表示

まとめ

いかがでしょうか。Linuxにおけるzipファイルの管理について紹介していきました。解凍だけでなく、圧縮コマンドの使い方を理解することで、適切な管理を行うことができるようになります。