Windows上の圧縮ファイル形式と言えば、世界全体ではZipが有名ですが、日本ではZipと並んでLHAが有名です。
このため日本で生活をしていれば必然的にLHAで圧縮されたファイルを扱うこともあると思います。
Windowsで一般的なLHAもFreeBSDで扱うことが出来ますので、解凍や圧縮も簡単に行う事ができます。
LHAはportsからインストールします。
> cd /usr/ports//usr/ports/archivers/lha
> su
# make install
これでインストールは完了です。
それではLHAの基本的な使い方をいくつか説明します。
まず、一番多いのはLHAで圧縮されたlzhファイルを解凍することだと思います。
lzhを解凍するには、
> lha -x hoge.lzh
と-xオプションを付けて解凍してやります。
また、lzhの中に何のファイルが圧縮されているのか見たい時は、
> lha hoge.lzh
とオプションを付けずにファイル名を指定してやります。
例えば.xinitrcを圧縮してあるhoge.lzhの一覧を見てやると、
> lha hoge.lzh
PERMSSN UID GID SIZE RATIO STAMP NAME
---------- ----------- ------- ------ ------------ --------------------
-rw-r--r-- 1001/1001 963 47.8% Oct 25 20:48 .xinitrc
---------- ----------- ------- ------ ------------ --------------------
Total 1 file 963 47.8% Oct 26 12:42
という具合に表示されます。
パーミッションや、ファイルサイズ、圧縮率等が一目瞭然になっていることがわかると思います。
このようにまず一覧を見て、その中から欲しいファイルのみを解凍する事もできます。
例えば.xinitrcのみを抽出したい場合は、
> lha -x hoge.lzh .xinitrc
のように、アーカイブ名の後に取り出したいファイル名を指定してやれば良いです。
ファイルをLHAで圧縮したい時は-cオプションを使います。
例えばhogehogeというファイルをhoge.lzhに圧縮したい場合は、
> lha -c hoge.lzh hogehoge
とします。
LHAはこの書庫に追加圧縮したり上書きしたり削除したりといった内部操作が可能です。
先ほど作ったhoge.lzhにhogehoge1というファイルを追加して圧縮したい場合は、
> lha -a hoge.lzh hogehoge1
と-aオプションで新しいファイルを指定してやれば良いです。
既に同じファイル名のファイルがアーカイブの中にあって、それを同じ名前の新しいファイルで更新したい場合は、
> lha -u hoge.lzh hogehoge
としてやります。
またアーカイブの中にあるファイルの内容を見たい場合は、
> lha -p hoge.lzh hogehoge
のようにします。
アーカイブの中のファイルを削除したい場合は、
> lha -d hoge.lzh hogehoge
としてやります。