🃏

Linuxさんでファイルをまとめたり、小さくしたり④zipコマンド

2021/01/12に公開

はじめに

くーばねてすをやっつけるためにLinuxさんと仲良くさせていただいているが、Linuxさんでもファイルをまとめるアーカイブ処理とファイルを小さくする圧縮処理ができるそうだ。
Windowsのzipファイルと何が違うの?

概要

■zipコマンド
■zipファイルの作成
■パスワード付きのzipファイルを作成する

■zipコマンド

zipコマンドではtarやgzipと違いzipコマンド単一でアーカイブと圧縮を同時に行うことができる。
展開にはunzipコマンドを使う。
zipファイルはWindowsやMac OS Xと互換性がある為、Windowsなどでも展開することができる。
Linuxでは標準インストールされていないこともあるので自分でコマンドをインストールする必要がある。

zip,unzipコマンドをインストールする
$ yum install zip unzip   (※CentOs)
$ yum apt-get zip unzip   (※ubuntu)

■zipファイルの作成

zipコマンドでファイルやディレクトリを圧縮する

$ zip -r 圧縮ファイル名.zip 圧縮対象パス

拡張子はzipだ。
ディレクトリを圧縮してみる

$ zip -r test.zip test/
updating: test/ (stored 0%)
  adding: test/testfile1.txt (stored 0%)
  adding: test/testfile2.txt (stored 0%)
  adding: test/testfile3.txt (stored 0%)
  adding: test/testfile4.txt (stored 0%)
  adding: test/testfile5.txt (stored 0%)

zipコマンドはオプションをつけないとディレクトリだけ圧縮されるので通常は-rをつけるのが普通だ。
-rをつけるとディレクトリだけでなく、その配下のファイルも圧縮される。
圧縮したzipファイルの内容を確認するのは zipinfo コマンドを使う。zipinfoコマンドはunzipパッケージに含まれる。

$ zipinfo ファイル名.zip

zipファイルを確認する。

$ zipinfo test.zip
Archive:  test.zip
Zip file size: 980 bytes, number of entries: 6
drwxr-xr-x  3.0 unx        0 bx stor 21-Jan-12 13:28 test/
-rw-r--r--  3.0 unx        0 bx stor 21-Jan-12 13:28 test/testfile1.txt
-rw-r--r--  3.0 unx        0 bx stor 21-Jan-12 13:28 test/testfile2.txt
-rw-r--r--  3.0 unx        0 bx stor 21-Jan-12 13:28 test/testfile3.txt
-rw-r--r--  3.0 unx        0 bx stor 21-Jan-12 13:28 test/testfile4.txt
-rw-r--r--  3.0 unx        0 bx stor 21-Jan-12 13:28 test/testfile5.txt
6 files, 0 bytes uncompressed, 0 bytes compressed:  0.0%

zipファイルを展開するのにはunzipコマンドを利用する。(※分かりやすい名前^^!)

$ unzip ファイル名.zip

展開する。

$ unzip test.zip
Archive:  test.zip
replace test/testfile1.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
 extracting: test/testfile1.txt
replace test/testfile2.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
 extracting: test/testfile2.txt
replace test/testfile3.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
 extracting: test/testfile3.txt略
 (※展開しますか?と聞かれるのでyesならyと入力)

いちいちyesって答えないといけないのか...(@_@)

■パスワード付きのzipファイルを作成する

zipファイルではパスワードがないと展開することができないパスワード付きのzipファイルを作成することができる。

パスワード付きzipファイルを作成する
$ zip -er ファイル名.zip 圧縮対象パス

パスワード付きzipファイルを作成してみる。

パスワード付きzipファイルを作成
$ zip -er test.zip test
Enter password:           (※パスワードを入力する)
Verify password:       (※再度パスワードを確認のため入力する)
updating: test/ (stored 0%)
updating: test/testfile1.txt (stored 0%)
updating: test/testfile2.txt (stored 0%)
updating: test/testfile3.txt (stored 0%)
updating: test/testfile4.txt (stored 0%)
updating: test/testfile5.txt (stored 0%)

パスワード付きzipファイルを展開する。

パスワード付きzipファイルを展開
$ unzip ファイル名.zip

パスワード付きzipファイルを展開してみる。

$ unzip test.zip
Archive:  test.zip
[test.zip] test/testfile1.txt password:    (※パスワードを入力する)
replace test/testfile1.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
 extracting: test/testfile1.txt
replace test/testfile2.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
 extracting: test/testfile2.txt略

まとめ

zipコマンドが一番分かりやすい(^^)

Discussion