圧縮と解凍

Linux でよく利用される圧縮形式は gzip や bzip2 などがある。これらの方法はテキストファイルを高い圧縮率で圧縮することができる。GenBank や PDB などのデータベースが提供するデータは、フラットファイルとよばれるテキスト形式で、ほとんどの場合 gzip 形式で圧縮されている。Linux 上でファイルの圧縮と解凍を行うには targzipbzip2 などのコマンドを利用する。

拡張子形式圧縮解凍
.tarアーカイブtar cvf com.tar *
(アーカイブ化)
tar xvf *.tar
(展開)
.gzgzipgzip *gzip -d *.gz
.bz2bzip2bzip2 *bzip2 -d *.bz2
.zipzipzip com.zip *unzip *.zip

tar

tar コマンドは複数のファイルをアーカイブするためのコマンドである。tar によるアーカイブした後に gzipbzip2 などを利用して圧縮するような使われ方が一般的である。

data1.txt、data2.txt を data としてアーカイブする例。

tar cvf data.tar data1.txt data2.txt

tar アーカイブを展開する例。

tar xvf data.txt

gzip

gzip はテキストファイルの圧縮を得意とする圧縮フォーマットである。GenBank や Ensembl などのデータベースなどでよく使われている。

gzip 形式のファイルを解凍する例。

gzip -d data.gz

テキストファイルは tar によるアーカイブ後に gzip によって圧縮するのように使われる場合が多い。この場合、拡張子が .tar.gz などとなっている。これを解凍するためには以下のように gzip で解凍してから tar で展開する。

gzip -d data.tar.gz | tar xvf -

ファイルを gzip 形式に圧縮する例。(data.txt を data.txt.gz に圧縮する例)

gzip data.txt

gzip で圧縮されたファイルの最初の 100 行を解凍して表示する例。

gzip -dc data.bz2 | head -n 100

bzip2

bzip2gzip と同様にテキストファイルの圧縮を得意とするフォーマットである。DDBJ などのデータベースでよく使われている。gzip の代替アルゴリズムとして作成されていることもあり、その使い方は gzip と似ている。

bzip2 形式のファイルを解凍する例。

bzip2 -d data.bz2

tar アーカイブされた bzip2 圧縮ファイルを解凍する例。

bzip2 -dc data.bz2 | tar xvf -

bzip2 で圧縮されたファイルの最初の 100 行を解凍して表示する例。

bzip2 -dc data.bz2 | head -n 100