ファイルの圧縮と解凍
tarの使い方
書式: tar [option] [archive] [path]
Option:
c アーカイブを作成
f アーカイブを指定
r アーカイブにファイルを追加
t アーカイブに含まれるファイルを表示
v アーカイブの情報の表示
x アーカイブからファイルを取り出す
z gzipで圧縮
実行例:
$ tar zxvf hogehoge-1.1.tar.gz
この例ではhogehoge-1.1.tar.gzからファイルを解凍、取り出し、その情報を表示します。
他に下記の方法があります。
$ gunzip -c hogehoge-1.1.tar.gz | tar xvf
-
逆に圧縮するには以下のようにします。
$ tar czvf hogehoge-1.1.tar.gz hogehoge/
この例ではデイレクトリhogehogeをアーカイブにして、圧縮しています。このように
"z" オプションを使えば gzip で圧縮したものと同じになります。
lhaの使い方
書式: lha [option] [archive] [file]
Option:
a そのファイルをアーカイブに追加する
l アーカイブのファイルを表示する
p アーカイブからファイルを取り出しその内容を表示
x アーカイブからファイルを取り出す
実行例:
$ lha a hogehoge.lzh hogehoge/
この例ではディレクトリhogehogeをlha形式でアーカイブにしています。
gzip と gunzip の使い方
書式: gzip [-option] [file]
Option:
c 結果を標準出力します
d gzipで圧縮されたファイルを解凍します。
gunzip と同じ動作になります。
l 圧縮ファイルの内容を表示します
v 圧縮内容を表示します
r gzip はひとつのファイルだけしか圧縮しませんが、このオプションを使うとそのディレクトリ以下のすべてを圧縮します。
1 to 9 圧縮率を指定します。デフォルトは
6 です。 -1 とすると高速圧縮しますが低圧縮率に、
-9 にすると最高圧縮率になります。
実行例:
$ gzip hogehoge.txt
この例ではhogehoge.txtを圧縮しています。このようにすると
hogehoge.txt.gz という圧縮されたファイルになります。解凍するには、
$ gzip -d hogehoge.txt.gz
または
$ gunzip hogehoge.txt.gz
とします。
tar.gz を展開するには以下のようにします。
$ gunzip foo.tar.gz
$ tar xvf foo.tar
または
$ gunzip -c foo.tar.gz | tar xvf -
ZIP の使い方
書式: zip [-option] [zipfile] [file or directry]
Option:
d アーカイブ内の指定したファイルを削除します。
t 日付を指定し、それより新しいファイルだけを対象とします。
実行例:
$ zip -r dirct dirct
この例では、 dirct という名のディレクトリを圧縮します。
$ zip abc.zip abc
この例では、abc というファイルを zip で圧縮しています。
フロッピーに分割保存&復元
1枚のフロッピーに収まらないような大きなファイルなどをtarで分割して保存
する方法がLinux Japan誌で紹介されていました。なかなか使えますので
ここでご紹介してみます。
ファイル: hogehoge-1-1.i386.rpm
ファイルサイズ: 6800KB
このファイルをフロッピーに分割保存し、解凍してみます。このファイルを分割
するとフロッピー5枚分になります。
# tar cMvf /dev/fd0 hogehoge-1-1.i386.rpm
と実行すると、
hogehoge-1-1.i386.rpm
Prepare volume #2 for /dev/fd0 and hit return:
Prepare volume #3 for /dev/fd0 and hit return:
Prepare volume #4 for /dev/fd0 and hit return:
Prepare volume #5 for /dev/fd0 and hit return:
このように1枚のフロッピーがいっぱいになる度に次にフロッピーを挿入するように
催促して来ます。
解凍&結合するには
# tar xMvf /dev/fd0
と実行します。すると
hogehoge-1-1.i386.rpm
Prepare volume #2 for /dev/fd0 and hit return:
Prepare volume #3 for /dev/fd0 and hit return:
Prepare volume #4 for /dev/fd0 and hit return:
Prepare volume #5 for /dev/fd0 and hit return:
と順に解凍、結合してくれます。
HOME