Linuxさんでファイルをまとめたり、小さくしたり④zipコマンド
はじめに
くーばねてすをやっつけるためにLinuxさんと仲良くさせていただいているが、Linuxさんでもファイルをまとめるアーカイブ処理とファイルを小さくする圧縮処理ができるそうだ。
Windowsのzipファイルと何が違うの?
概要
■zipコマンド
■zipファイルの作成
■パスワード付きのzipファイルを作成する
■zipコマンド
zipコマンドではtarやgzipと違いzipコマンド単一でアーカイブと圧縮を同時に行うことができる。
展開にはunzipコマンドを使う。
zipファイルはWindowsやMac OS Xと互換性がある為、Windowsなどでも展開することができる。
Linuxでは標準インストールされていないこともあるので自分でコマンドをインストールする必要がある。
$ 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 -er ファイル名.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ファイルを展開する。
$ 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