6.1. 基本的なファイルの管理

6.1.1. ファイルの圧縮と解凍

ファイルの圧縮解凍

ファイルの圧縮解凍を行うコマンドはいくつかあり、gzip, bzip2, xzなどがある。

gzipbzip2xz
圧縮コマンドgzipbzip2xz
圧縮率低い高い
時間短い長い

gzipコマンド

ファイルを圧縮と解凍するコマンド。

gzip <ファイル>
オプション説明
-d圧縮ファイルを展開 (解凍)
-c圧縮ファイルを標準出力へ出力
-rディレクトリ内の全てのファイルを圧縮
-k圧縮前ファイル残す

gunzipコマンド

ファイルを解凍するコマンド。 gunzipコマンドは gzip -d と同じ実行結果が得られる。

gunzip <ファイル名>
オプション説明
-c出力を標準出力に展開して、元ファイルは変更しない
-fすでにファイルがある場合は上書きを行い、強制的に解凍
-rディレクトリ内の全てのファイルを再帰的に解凍

bzip2コマンド

gzipよりも処理時間はかかるが圧縮効率の高いコマンド。

bzip2 <オプション> <ファイル>
オプション説明
-d圧縮ファイルを展開 ( 解凍 )
-c圧縮ファイルを標準出力へ出力
-k圧縮前ファイル残す

xzコマンド

bzip2よりも処理時間はかかるが圧縮効率の高いコマンド。

xz <オプション> <ファイル>
オプション説明
-d圧縮ファイルを展開 ( 解凍 )
-c圧縮ファイルを標準出力へ出力
-k圧縮前ファイル残す

6.1.2. 圧縮ファイルの閲覧

zcat, bzcat, xzcatなどがある。

コマンド対応拡張子
zcat.gz
bzcat.bz
xzcat.xz

6.1.3. アーカイブの作成と展開

アーカイブとは

アーカイブは複数ファイルをまとめたもの。 ディレクトリ単位で圧縮を行うにはまずディレクトリをアーカイブにする必要がある。

tarコマンド

tarコマンドはファイルやディレクトリを1つのアーカイブファイルにしたり、圧縮/展開するコマンド。 デフォルトで圧縮しないため、tarコマンドで圧縮を行うためには-zオプションや、-jオプションを指定する必要がある。

tar <オプション> <ファイル>
オプション説明
-cアーカイブの作成
-xアーカイブからファイルの取り出し
-tアーカイブの内容の確認
-f ファイル名アーカイブファイル名の指定
-zgzip による圧縮 ・ 展開
-jbzip2 による圧縮 ・ 展開
-J7zip による圧縮 ・ 展開
-v詳細な情報の表示
-uアーカイブ内にある同じ名前のファイルより新しいものだけを追加
-rアーカイブにファイルの追加
-N指定した日付より新しいデータのみを対象とする
-M複数デバイスへの分割
–deleteアーカイブからファイルの削除

cpioコマンド

cpioはファイルをアーカイブファイルにコピーしたり、アーカイブからファイルをコピーできるコマンド。

ls | cpio -o > /tmp/backup
オプション説明
-i オプション パターンアーカイブからファイルを抽出
-o オプションアーカイブの作成
-p オプション ディレクトリファイルを別のディレクトリにコピー
オプション説明
-A既存のアーカイブファイルに追加
-d必要な場合にディレクトリの作成
-rファイルを対話的に変更
-tコピーせず、入力内容の一覧表示
-vファイル名の一覧表示

ddコマンド

入力側に指定したファイルからの入力をファイルまたは標準出力に送るコマンド。

dd if=/dev/zero of=/dev/sda bs=446 count=1
オプション説明
if= 入力ファイル入力側ファイルの指定
of= 出力ファイル出力側ファイルの指定
bs= バイト数入出力のブロックサイズの指定
count= 回数回数分の入力ブロックをコピー