コマンド一覧 <<--bzip2,bunzip2 <-- zip,unzip --> lha
コマンド索引


zip , unzip

ファイルやディレクトリを圧縮、解凍するコマンド、zip , unzip です。

zip コマンドで、 zip 形式の圧縮ファイルをつくります。
unzip コマンドで、zip 形式の圧縮ファイルを解凍します。
zip コマンドでも、 zip 形式のファイルを解凍できます。
???.zip というファイルは、zip , unzip で処理します。

注意 zip コマンドも zip , unzip とコマンドがあり、
ここまでは、gzip , gunzip と同じようですが、ここから先は大きく異なります。

zip コマンドは、 tar コマンドと同じようなものとして考えて下さい。
zip コマンドでは、ディレクトリも、
圧縮して一つのファイルをつくることができます。
また、オプションは gzip とは同じ文字もありますが、
同じ文字でも違った動作をするので、まったく別のものとして考えて下さい。
特に -d オプションは危険です。
書式などは tar コマンドと似ているので、
tar コマンドの zip 版と考えてもいいかもしれません。
また、改行コードの変換や、
zip ファイル内のファイルの更新、追加、削除など便利なことができます。
tar では、圧縮処理をしてしまった書庫は、
解凍作業をしないと更新できませんが、 zip ではそのままで、可能です。
便利な反面、危険もともなうといった感じでしょうか。

基本的な書式

zip オプション 書庫名 ファイル名またはディレクトリ名 オプション2
unzip オプション 書庫名 取り出すファイル名

zip コマンドでは、書庫名に、 .zip を付けなくても、自動的に .zip が付けられます。
unzip コマンドでは、2番目のファイル名は省略できます。

unzip コマンドは、2番目の引数が、取り出すファイル名なので、複数の書庫を同時に解凍することはできません。
複数の書庫を解凍する場合には、使用例6のように bash の for 文などを用いると良いでしょう。
csh や tcsh では 使用例7のように foreach 文を用いると良いでしょう。

オプション

オプション
zip のオプション
オプション説明
-T書庫のテストを行います。
-u オプションなどがあれば、テスト後に実際に追加、更新されます。
-f書庫内のファイルを最新のものに更新する。
-r は不要です。
ファイルが削除されていた場合は、書庫ファイルの中のファイルはそのまま残ります。
また、新しく作られたファイル、ディレクトリは追加されません。
-u書庫内のファイルを最新のものに更新する。
書庫内にあらたにファイルを追加する。
ファイル名を直接指定することもできます。
ただし、ディレクトリ名を直接指定する場合は、
-r オプション無しだと空のディレクトリだけが追加され、
ディレクトリ内のファイルやサブディレクトリは追加されません。
-i xxx.yyy特定のファイルだけを書庫に追加、更新する。
このオプションだけは、上の書式オプション2の位置
(書庫ファイルや、書庫にいれるディレクトリなどよりも後ろ) において下さい。
使用例をみてください。
-lファイルの改行コードを、
LF ( UNIX , LINUX ) から、 CR + LF ( Windows ) にして書庫に加える。
※注バイナリーファイル( 例えば jpg ファイルなど ) にこの処理をしてしまうと、
改行コードをもとの状態に直さないと正常に開けなくなります。
それを防ぐためには、テキストなどだけの書庫にするか、
使用例のように -i オプションを使うか、
他のファイルもいれた書庫を作成後に、
使用例のように、-d や -u のオプションを使ってください。
-llファイルの改行コードを、
CR + LF ( Windows ) から、LF ( UNIX , LINUX ) にして書庫に加える。
※注-l オプションと同様に、バイナリーファイル( 例えば jpg ファイルなど ) にこの処理をしてしまうと、
改行コードをもとの状態に直さないと正常に開けなくなります。
-rサブディレクトリ内のファイルも対象にする。
-d書庫の中から不要なファイルを削除します。
gzip などでは解凍ですが、全く異なります。
-c処理した結果をファイルに残さずに、
標準出力に表示する。
-P パスワードパスワード付きの書庫をつくる。
この方法だと、パスワードがそのまま画面に表示されてしまうし、
コマンドラインの履歴などでも、
パスワードがわかってしまいます。
でも、シェルスクリプト内などで利用するなら
有効かもしれません。
-eパスワード付きの書庫をつくる。
こちらだと、コマンド入力後にパスワードを入力するので、
通常なら、パスワードはわかりません。
unzip のオプション
-l解凍せずに、書庫内のファイルの、
それぞれの、ファイルサイズ、更新日、更新時、ファイル名
合計の、サイズ、ファイル数
を表示する。
-ll-l よりも多くの情報が表示されます。

使用例1

zip -r file .
現在のディレクトリ以下のすべてのファイルを file.zip という名前の書庫にする。

使用例2

zip -ur file .
書庫 file.zip 作成後にあらたに作成されたファイル、更新されたファイルをすべて、追加および交換する。

使用例3

zip -r html_jpg . -i *.html *.jpg 
現在のディレクトリから、サブディレクトリもふくめて、
拡張子が、html , jpg のファイルだけをあつめて、 html_jpg.zip という名前の書庫にする。

使用例4

zip -d file *.txt *.html
書庫 file.zip から、拡張子が、txt のファイルと html のファイルをすべて削除する。

使用例5

zip -ur -ll file .
書庫 file.zip 作成後にあらたに作成されたファイル、更新されたファイルをすべて、
改行コードを LF から CR+LF に変更して、書庫に追加する。

使用例6

for filename in *.zip ; do unzip "$filename" ; done
現在のディレクトリ内の *.zip という名前のファイルを順番に unzip する。

使用例7

foreach filename in *.zip ; do unzip "$i" ; done
現在のディレクトリ内の *.zip という名前のファイルを順番に unzip する。

Valid HTML 4.01! Valid CSS!