zipファイルの圧縮と解凍

ファイル圧縮形式のzipです。
Windowsでは比較的ポピュラーな圧縮形式です。

FreeBSDの場合、圧縮はあまり利用頻度が高くないと思うが、圧縮と解凍、どちらも説明します。
(あまり情報は多くないですが・・・)

☆ インストール

cd /usr/ports/archivers/zip/
make config-recursive
make install clean && rehash
cd /usr/ports/archivers/unzip/
make config-recursive
make install clean && rehash

 

☆ 圧縮方法

cd /root/samba/data
zip /root/zipdata.zip *

もしくは

cd /root/samba
zip -r /root/zipdata.zip data/

圧縮したいデータの有るディレクトリに移動。
(Windowsの場合、圧縮するファイルやフォルダーが表示されている状態は、FreeBSDで言えばCDコマンドで圧縮するファイルやディレクトリが有る位置まで移動した後と言う事になります。そうする事により、無駄なフォルダーを含めてzipに圧縮するという半端な失敗を防ぐことが出来ます。まぁFreeBSDの場合は、余計なファイルまでは圧縮されるわけではないんですけどね)
zipファイルは『/root/zipdata.zip』に作成、圧縮するファイルは『*』で指定。
ディレクトリを指定する(含める)場合は『-r』オプションを付ける。

 

ファイル名に空白を含めたい場合は、ファイル名をダブルクオート『”』([Shift]+[2])で囲むと楽です。
例『/root/”zipdata 2.zip”』

拡張子である『.zip』は、ファイル名に含めても含めなくても結果として出力されるファイル名には『.zip』の拡張子は付きます。

 

☆ 解凍方法

unzip zipdata.zip

 

☆ 解凍でエラーが出る場合の対処

portsでunzipをインストールすると、それ以前に入っていたunzipを優先して使おうとし、中身が読み取れないために『unzip: Invalid central directory signature』と言うエラーを出す。
(ファイルが壊れている時に出る事が多いエラーらしい)

portsで入れたunzipは『/usr/local/bin』に有るので

/usr/local/bin/unzip -v zipdata.zip

としてzipファイルの中身を確認してみる。正常にファイルが表示されるなら、『-v』オプションを外して使えば良い。

ただ、いちいちフルパスでコマンドを呼び出すのも面倒なので『.cshrc』を編集してしまう。

cd ~
vi .cshrc
alias unzip /usr/local/bin/unzip

同じ表記の所に追記

 

source ~/.cshrc

これで『unzip -v zipdata.zip』としてもzipファイルの中身が表示される(コマンドが通る)と思います。

 

役に立ちましたか?
  • 役に立った (0)
  • 少しだけ (0)
  • これじゃない! (0)