スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
このエントリーをはてなブックマークに追加

Linuxの圧縮/解凍コマンドのまとめ

前回の「情報発信は自宅から!CentOS低予算自宅サーバ奮闘メモ Movable Type 4 データ復元実験」を基に、Movable Type 4の機能でバックアップするのではなく、シェルスクリプトで自動バックアップする方法を考えます。

その為には、シェルスクリプトで圧縮を行う必要があるので、今回は圧縮/解凍のコマンドについてまとめてみました。

その前に、基本用語「アーカイブ」について。

アーカイブとは 【archive】 - 意味・解説 : IT用語辞典
複数のファイルを一つのファイルにまとめること。そのためのソフトウェアをアーカイバという。関連するファイルをひとまとめにすることで、ネットワークを通じた送受信の手間を軽減したり、ディスクの管理を容易にしたりできる。最近ではファイルをまとめる際に圧縮を施すのが一般的になりつつある。


圧縮/解凍コマンドには、アーカイブするものとしないものに大きく2つに分かれます。
◎アーカイブしないもの


■compress/uncompress
【特徴】
compressで圧縮すると、元のファイルは削除されるので注意。
圧縮ファイルの拡張子は .Z となります。
uncompressで解凍すると、元の圧縮ファイルは削除されます。

オプション 内容
-d 圧縮ファイルを展開する
-v ファイルが展開(圧縮)されるたびにメッセージを表示する
-c 圧縮ファイルを標準出力し,元ファイルを残す
-r 再起的にディレクトリ内を展開(圧縮)する


【例】

・ファイルを圧縮
compress [ファイル名]

・指定ディレクトリ以下のファイルを全て圧縮(それぞれ別ファイルになる)
compress -r [ディレクトリ名]

・ファイルを解凍
uncompress [圧縮ファイル名]

・指定ディレクトリ以下のファイルを全て解凍
uncompress -r [ディレクトリ名]



■gzip/gunzip
【特徴】
gzipで圧縮すると、元のファイルは削除されるので注意。
圧縮ファイルの拡張子は .gz となります。
gzip, gunzipで解凍すると、元の圧縮ファイルは削除されます。
compress形式の圧縮ファイルも解凍することができます。

オプション 内容
-d 圧縮ファイルを展開する
-v ファイルが展開(圧縮)されるたびにメッセージを表示する
-c 圧縮ファイルを標準出力し,元ファイルを残す
-r 再起的にディレクトリ内を展開(圧縮)する
-l 圧縮ファイルのリストを表示する
-n 元のファイル名とタイムスタンプは保存しない


【例】

・ファイルを圧縮
gzip [ファイル名]

・ファイルを圧縮(詳細表示)
gzip -v [ファイル名]

・圧縮レベルを指定して圧縮(1~9まで指定できる。9が一番圧縮率が高い。デフォルトは6)
gzip -圧縮レベル [ファイル名]

・ファイルを解凍
gzip -d [圧縮ファイル名]
gunzip [圧縮ファイル名]

・圧縮前、圧縮後のファイルの詳細を表示
gzip -l [圧縮ファイル名]



■bzip2/bunzip2
【特徴】
bzip2で圧縮すると、元のファイルは削除されるので注意。
圧縮ファイルの拡張子は .bz2 となります。
bzip2, bunzip2で解凍すると、元の圧縮ファイルは削除されます。

オプション 内容
-r 展開した後、同名のファイル名がある場合は上書きする
-c 標準出力に展開結果を出力
-k 圧縮率、元のファイルを保存する


【例】

・ファイルを圧縮
bzip2 [ファイル名]

・ファイルを圧縮(詳細表示)
bzip2 -v [ファイル名]

・元のファイルを残したまま圧縮
bzip2 -k [ファイル名]

・ファイルを解凍
bzip2 -d [圧縮ファイル名]
bunzip2 [圧縮ファイル名]



◎アーカイブするもの


■tar
【特徴】
tarでアーカイブ・圧縮しても、元ファイルは削除されません。
アーカイブファイルの拡張子は .tar となります。
tarで解凍しても、元のアーカイブファイルは削除されません。

オプション 内容
-c, --create 新しいアーカイブを作成する
-d, --diff, --compare アーカイブとファイル・システムとの差分を取る
--delete アーカイブから削除する
-r, --append アーカイブの最後にファイルを追加する
-t, --list アーカイブ内容の一覧を表示する
-u, --update ア ーカイブ内の同名のファイルより新しいものだけを追加する
-x, --extract, --get アーカイブからファイルを抽出する
-z, --gzip, --ungzip gzipを通し、tar.gz形式のファイルを一度に圧縮・解凍する
-j, --bzip2 bzip2を通し、tar.bz2形式のファイルを一度に圧縮・解凍する


【例】

・アーカイブを作成
tar cvf [アーカイブファイル名] [ディレクトリ・ファイル名]
例:tar cvf sample.tar sample

・アーカイブを作成してcompressで圧縮
tar cvZf [アーカイブファイル名] [ディレクトリ・ファイル名]
例:tar cvZf sample.tar.Z sample

・アーカイブを作成してgzipで圧縮
tar cvzf [アーカイブファイル名] [ディレクトリ・ファイル名]
例:tar cvzf sample.tar.gz sample

・アーカイブを作成してbzip2で圧縮
tar cvjf [アーカイブファイル名] [ディレクトリ・ファイル名]
例:tar cvjf sample.tar.bz2 sample

・アーカイブを展開
tar xvf [アーカイブファイル名]
例:tar xvf sample.tar

・compressを解凍してアーカイブを展開
tar xvZf [アーカイブファイル名] [格納するディレクトリ・ファイル名]
例:tar xvZf sample.tar.Z

・gzipを解凍してアーカイブを展開
tar xvzf [アーカイブファイル名]
例:tar xvzf sample.tar.gz

・bzip2を解凍してアーカイブを展開
tar xvjf [アーカイブファイル名]
例:tar xvjf sample.tar.bz2

・アーカイブに格納されているファイルを表示
tar tvf [アーカイブファイル名]
例:tar tvf sample.tar

・アーカイブにファイルを追加
tar rvf [アーカイブファイル名] [追加ファイル名]
例:tar rvf sample.tar hoge4.txt

・アーカイブに格納されている特定のファイルだけを取り出す
tar xvf [アーカイブファイル名] [取り出したいファイル名]・アーカイブを作成
tar cvf [アーカイブファイル名] [ディレクトリ・ファイル名]
例:tar cvf sample.tar sample

・アーカイブを作成してcompressで圧縮
tar cvZf [アーカイブファイル名] [ディレクトリ・ファイル名]
例:tar cvZf sample.tar.Z sample

・アーカイブを作成してgzipで圧縮
tar cvzf [アーカイブファイル名] [ディレクトリ・ファイル名]
例:tar cvzf sample.tar.gz sample

・アーカイブを作成してbzip2で圧縮
tar cvjf [アーカイブファイル名] [ディレクトリ・ファイル名]
例:tar cvjf sample.tar.bz2 sample

・アーカイブを展開
tar xvf [アーカイブファイル名]
例:tar xvf sample.tar

・compressを解凍してアーカイブを展開
tar xvZf [アーカイブファイル名] [格納するディレクトリ・ファイル名]
例:tar xvZf sample.tar.Z

・gzipを解凍してアーカイブを展開
tar xvzf [アーカイブファイル名]
例:tar xvzf sample.tar.gz

・bzip2を解凍してアーカイブを展開
tar xvjf [アーカイブファイル名]
例:tar xvjf sample.tar.bz2

・アーカイブに格納されているファイルを表示
tar tvf [アーカイブファイル名]
例:tar tvf sample.tar

・アーカイブにファイルを追加
tar rvf [アーカイブファイル名] [追加ファイル名]
例:tar rvf sample.tar hoge4.txt

・アーカイブに格納されている特定のファイルだけを取り出す
tar xvf [アーカイブファイル名] [取り出したいファイル名]



■zip/unzip/zipinfo
【特徴】
zipでアーカイブ・圧縮しても、元ファイルは削除されません。
アーカイブファイルの拡張子は .zip となります。
unzipで解凍しても、元のアーカイブファイルは削除されません。

オプション 内容
-d アーカイブファイル内から指定したファイルを削除する
-m アーカイブファイル内から指定したファイルを移動する
-k ファイル名をMS-DOS(8.3)フォーマットにする
-q クイック圧縮をする -z コメントを追加する
-t 指定した日付以降のファイルを対象とする
-u 変更または新しいファイルのみアップデートする
-l リターンコードをLFからCR+LFに変換する
-ll リターンコードをCR+LFからLFに変換する


【例】

・ファイルを圧縮 or アーカイブにファイルを追加
zip [アーカイブファイル名] [ファイル名]

・ディレクトリごと圧縮
zip -r [アーカイブファイル名] [ディレクトリ名]

・ファイルを解凍
unzip [アーカイブファイル名]

・アーカイブファイルに格納されたファイルを表示
zipinfo [アーカイブファイル名]



■lha
【特徴】
lhaでアーカイブ・圧縮しても、元ファイルは削除されません。
アーカイブファイルの拡張子は .lzh となります。
lhaで解凍しても、元のアーカイブファイルは削除されません。

オプション 内容
a 追加。fileをarchive_fileに追加します。 file が ディ レクトリであれば、そのディレクトリに含まれるファイルをすべて追加する。
u 更新。fileがarchive_fileに格納されていないか、 も し く は 格されているものが古ければ、file を archive_file追加する。
x または e 抽出。archive_file から file を抽出する。 file の 指定がなければ archive_file 内の全てのファイルを抽出する。抽出すべきファイルがすでに存在している場合には、重ね書きしていいかの問い合わせを行ないます。
d 削除。archive_file から file削除します。
m 移動。fileを archive_fileに追加した後、file を削除する。これは、key に a を、modifiers に d を指定した時と同じ動作を行ないます。
c 新規作成。archive_file を新たに作成し、fileを追加 する。


【例】

・ファイルを圧縮
lha -a [アーカイブファイル名] [ディレクトリ・ファイル名]

・ファイルを解凍
lha -e [アーカイブファイル名]

・展開先を指定して解凍
lha -ew=展開先ディレクトリ名 [アーカイブファイル名]

・アーカイブファイルに格納されたファイルを表示
lha -l [アーカイブファイル名]

このエントリーをはてなブックマークに追加

コメントの投稿

非公開コメント

プロフィール

白鯖

Author:白鯖
安い寄せ集めの部品で構築し、CentOS5をインストールしました。主に、Webサーバ、アプリケーションサーバとして運用中。ハードの知識はあまり無いプログラマですが、全部自前で作るのは、手間はかかるけど、レン鯖より面白いです。

ハードウェア構成

カテゴリー
最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
Max TDP控え目なCPU
安くて静音なクーラー
検索フォーム
ユーザータグ
RSSフィード
はてな
スポンサード リンク
おすすめ書籍
twitter
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。