Linux インフラ 資格 キャリア

【LPIC101】間違えやすいファイル圧縮/アーカイブコマンドのオプション一覧

2021年8月15日

絶賛LPIC101対策の勉強中なのですが、圧縮コマンド・アーカイブコマンドがなかなか覚えられないので、ここに一覧にまとめたいと思います。

試験範囲のコマンド

LPIC101の試験範囲に含まれるファイルの圧縮コマンドは、gzip, bzip2, xzコマンドです。
また、アーカイブコマンドは、tar, cpioコマンドです。

そのほかにもddコマンドというのもあります。

そもそも圧縮とアーカイブの違いってなに?ってとこなんですけど、
圧縮はディレクトリをまとめてファイルとして扱うことを指し、
アーカイブは、複数のファイルを1つのディレクトリにまとめることを指します。

なので、圧縮・展開したいファイルが複数ある場合は、アーカイブと圧縮がセットで実行する必要があります。

gzipコマンド

拡張子が「.gz」形式で圧縮するコマンドです。
オプションは以下の通り

オプション説明
-d圧縮ファイルを展開する。
-cファイルを標準出力へ出力する。元のファイルが残る。
-rディレクトリ内のファイルを全て圧縮する。
https://www.wantanblog.com/entry/2020/08/22/222401 より

-dはdecompressで、-rはrecursiveなのでイメージがつきやすいです。
-cは由来がちょっとわからないのですが、stdoutと同義だそうです。

-cに関しては、リダイレクト先にファイルを指定することで、元ファイルを残しつつ圧縮ファイルを生成することが可能です。

ちなみに、展開については-dでなくとも、unzipコマンドを使っても同じ結果を得られます。

bzip2コマンド

拡張子が「.bz」形式で圧縮するコマンドです。
オプションは以下の通り

オプション説明
-d圧縮ファイルを展開する。
-cファイルを標準出力へ出力する。元のファイルが残る
https://www.wantanblog.com/entry/2020/08/22/222401 より

gzipと同じように使うことができますね。

xzコマンド

拡張子が「.xz」形式で圧縮するコマンドです。
オプションは以下の通り

オプション説明
-d圧縮ファイルを展開する。
-k圧縮、解凍時に元のファイルを削除しない。
-l圧縮ファイルないのファイルを一覧表示する。
https://www.wantanblog.com/entry/2020/08/22/222401 より

-dはdecompress, -kはkeep, -lはlistなので、案外素直なオプションになっています。

ちなみに、-kについてはgzipでもbzip2でも同じ意味で使うことができます。
-lはgzipでも使うことができます。

tarコマンド

拡張子が「.tar」形式でアーカイブするコマンドです。
オプションは以下の通り

オプション説明
-c (--create)アーカイブを作成する。
-x (extract)アーカイブからファイルを取り出す。
-t (--list)アーカイブ内容を表示する。
-f (--file)アーカイブファイル名を指定する。
-z (--gzip)gzipによる圧縮展開する。
-j (--bzip2)bzip2による圧縮展開する。
-Jxzによる圧縮展開する。
-v (--verbose)詳細情報の表示する。
https://www.wantanblog.com/entry/2020/08/22/222401 より

多いですね...
英単語ベースで覚えればなんとかなりそうです。。
とうことで、表中にも記載しておきました。(Jについては調べてもわからなかったです)

素直なオプションの方が少ないので、都度覚える必要がありそうです。

cpioコマンド

拡張子が「.cpio」形式でアーカイブするコマンドです。

cpioコマンドはちょっと使い方で特殊で、以下の書式で実行します。

cpio フラグ [オプション]

では、フラグとオプションは以下のとおりです

フラグ説明
-iアーカイブからファイルを抽出する。
-oアーカイブを作成する。
-pファイルを別のディレクトリにコピーする。
https://www.wantanblog.com/entry/2020/08/22/222401 より
オプション説明
-A既存のアーカイブにファイルを追加する。
-d必要なディレクトリを作成する。
-rファイル名を対話的に変更する。
-t入力された内容を一覧表示する。
-vファイル名の一覧を表示する。
https://www.wantanblog.com/entry/2020/08/22/222401 より

フラグはそれぞれ他と違った命名規則になっているので注意して覚えないとダメそうです。

cpioコマンドでアーカイブを作成・展開するときは、標準入力から対象ファイルを渡す必要があり、また標準出力で出力するのでリダイレクトする必要があります。

ddコマンド

ddコマンドは、ハードディスクやCD-ROMなどのデバイスの内容をそのまま扱えることが特徴です。
cpコマンドではファイルをコピーしますが、ddコマンドはディスク間でコピーをすることができます。
オプションは以下の通り。

オプション説明
if=入力ファイルを指定する。
of=出力ファイルを指定する。
bs=入出力のブロックサイズを指定する。
count=回数分の入力ブロックをコピーする。
https://www.wantanblog.com/entry/2020/08/22/222401 より引用

これまでと違った特殊なコマンドなので、都度覚えるしかなさそうです。

最後に

というわけで、自分の頭の中の整理も兼ねて圧縮・アーカイブコマンドを紹介しました。
実用的かはさておき、LPICの試験対策という観点でまとめたものですので、その点ご了承ください。

参考にした書籍はLinux教科書 LPICレベル1 Version5.0対応です。
適度な情報量で読みやすくて試験対策におすすめです。

ここまで読んできただき、ありがとうございました。

-Linux, インフラ, 資格, キャリア
-, , , ,