■Linuxでの解凍・圧縮方法■
・今回はLinuxでの解凍・圧縮方法を説明いたします。
特にLinuxのインターネットで無償配布されているソフトは圧縮された状態で配布されています。それは無駄なトラフィック減らすことと、転送時間短縮をおこなうという二つの目的があります。コマンドラインを使用してファイルの圧縮、解凍方法を行ってみましょう。
・主な圧縮形式ファイル形式
LinuxやCentOSにはファイルの圧縮・解凍を行うフリーツールがたくさん用意されています。それらのツールを利用するにあたって、まず圧縮形式や圧縮ファイルの拡張子等の概要を説明しておきます。
■2種類のファイル圧縮方法
ファイルの圧縮方法には2種類の方式があります。
・可逆圧縮:圧縮されたファイルを解凍して元の状態に戻せる方式。※電子メールに添付したり、インターネットに公開する場合に使用します。
・非可逆圧縮:圧縮ファイルを元に戻せない方式。※画像フォーマット、MP3、音声データ等マルチメディアに使用されています。
アーカイブとはUNIX系では「書庫」の意味で複数のファイルをまとめて1つのファイルとして管理できるようにしたもので階層構造を保ったままディレクトリをそのままアーカイブに入れることができます。アーカイブファイルの作成するプログラムのことを「アーカイバ」と呼ばれています。アーカイブファイルは単に複数のファイルをまとめたもので、その状態では圧縮されていません。通常は圧縮ツールを使用してファイルを小さくすることが行われます。
UNIX系OSではアーカイブの作成には「tar」コマンド、ファイル圧縮には「gzip」コマンドといったツールが使用されていましたが、最近では「tar」コマンドはアーカイブの作成とファイルの圧縮の両方をサポートしています。
・圧縮ファイルおよびアーカイブファイルの主な拡張子
.gz:gzip形式で圧縮されたファイル
.Z:compress形式で圧縮されたファイル
.bz2:bzip2形式で圧縮されたファイル
.tar:tar形式のアーカイブファイル
.tar.gz:tar形式のアーカイブをgzip形式で圧縮したファイル
.tgz:tar.gzの短縮形
.tar.Z:tar形式のアーカイブをcompress形式で圧縮したファイル
.tar.bz2:tar形式のアーカイブをbzip2形式で圧縮したファイル
.tzh:Lha形式の圧縮アーカイブ
■ファイルの圧縮コマンド
・gzipコマンドによる圧縮方法
Linuxの世界で最も普及している圧縮コマンドは「gzip」です。今回はその「gzip」の操作方法を説明します。
(例)まず、ホームディレクトリに適当なファイルを作成してみましょう。※圧縮するファイルは削除されます。
$ cat [Enter] ※zipというテキストファイルを作成しました。
zip
$ cat >zip file [Enter] ※zipファイルの内容を記述しました。
[Ctrl]+[D]
これで、ホームディレクトリーに「zip」というテキストファイルが作成されました。「ls -l」で確認してみましょう。
次に作成したファイルを圧縮します。コマンドは「gzip」ですね。
$ gzip zip [Enter] ※zipファイルと圧縮しました。
それでは、圧縮されたかを確認してみましょう。
$ ls -lh [Enter] ※オプションで-lhを使用すると圧縮された形式が表示されます。「zip.gz」という圧縮ファイルが作成されました。
・tarコマンドによる圧縮方法
tarコマンドを使用してアーカイブを作成する方法を説明します。tarコマンドでは、gzipコマンドと異なり、元のディレクトリやファイルは削除されません。
また、アーカイブにはファイルのみでなくディレクトリを丸ごと格納することができます。
それでは、先程作成した「zip」ファイルで行ってみましょう。
$ tar -cvf zip.tar.gz zip [Enter] ※これで圧縮されたtarファイルが作成されました。元のzipファイルは削除されません。
$ ls -lh [Enter] ※アーカイブされたファイルを確認してみましょう。
ここで「tar」コマンドのオプションを覚えておきましょう。
・-c:新しいアーカイブを作成する。
・-v:新しい情報を表示する。
・-f:アーカイブファイル名を指定する。
・アーカイブファイル、ディレクトリの中身を表示する。
$ tar -tvf zip.tar.gz [Enter]
これで、「tar」ファイルの中身が表示されましたね。
■ファイルの解凍コマンド
・gzipで圧縮されたファイルを解凍します。
$ gunzip zip.gz [Enter] ※圧縮されているファイルを解凍しました。
$ ls -lh [Enter] ※解凍されたファイルが表示されます。
・圧縮されたテキストファイルの中身を表示する方法
$ zcat zip.gz [Enter] ※これで先程作成した圧縮した「zip.gz」ファイルの内容が表示されましたね。
zip file
・tarコマンドの解凍方法
アーカイブのデフォルトではカレントディレクトリに展開されます。それでは、「zip.tar」ファイルを解凍してみましょう
$ tar -xvf zip.tar [Enter]
$ ls -lh [Enter] ※これで「zip」ファイルが解凍されました。
次に、指定したディレクトリに展開する方法です。
$ tar -xvf zip.tar -C sample [Enter] (例)「sample」ディレクトリ ※ーC <ディレクトリのパス>
これで、「sample」ディレクトリに展開されました。
・tarコマンドでgzip形式の圧縮ファイルを作成
gzip形式の圧縮ファイルをtarコマンドで作成するには「-z」オプションを使用します。このとき圧縮アーカイブの拡張子には「.tar.gz」「.tgz」にします。
また、オプション「-z」はオプション「f」の前に記述します。では、実際に操作してみましょう。
(例)「sample」ディレクトリの圧縮アーカイブ「sample.tar.gz」を作成してみましょう。
$ tar -cvzf sample.tar.gz sample [Enter]
$ ls -lh [Enter] ※sample.tar.gzというファイルできていることが確認できたはずです。
$ tar -tvf sample.tar.gz [Enter] ※sample.tar.gzの中身を確認できたはずです。