スポンサーリンク

このドキュメントの内容は、以下の通りです。

はじめに

生活の中で、いくつもの手紙をまとめたり、領収書をまとめたり、ノートをまとめたり、書類をまとめたり、といったことをされているのではないでしょうか。同じようなものを1つにまとめる、ということを日常的にやられていると思います。コンピューターの中でファイルを作るときにも、ディレクトリ・フォルダを作成して、同じようなものをそこに集めていくのではないでしょうか。

それらのファイルをまとめて、誰かにお渡ししたりするときに、1つにまとめたほうがよいときもあります。

Windows の世界では、ファイル・ディレクトリを1つにまとめるときに、 ZIP形式がよく使われているではないかと思います。ビジネスの世界では、なぞの風習かもしれない、パスワード付きZIPが流行している村もあるでしょう。

Unixの世界ではどうかというと、 tar と圧縮を利用しています。
ここでは、LinuxやFreeBSDなどのunix系osでよく利用されるtarコマンドについて説明します。

tarとは

tarは、たーと読みます。 tarとは、ファイルのアーカイブフォーマットであり、LinuxやFreeBSDなどのUnixで使われるコマンドです。 tarコマンドは、複数のファイルを1つのtarアーカイブファイルにまとめます。

tarコマンドは、アーカイブユーテリティで、複数のファイル・ディレクトリを1つのファイルにまとめることができます。tarそのものには、圧縮の機能はありませんでした。tarでアーカイブするときに、なんらかの圧縮が利用されます。tarのコマンドラインで、圧縮オプションを指定できます。

tarと使われる圧縮形式


tarアーカイブを作成するときに、一緒に圧縮することがよくあります。以下に圧縮の例を挙げます。
  • gzip (.gz)
  • bzip2 (.bz2)
  • xz (.xz)
それぞれ、圧縮率、処理スピードなどが異なります。

xz は、 LZMA2 アルゴリズムを採用しています。圧縮に時間がかかりますが、圧縮効率は良いとされています。

tarコマンドでよく使われるオプションについて

tar には、たくさんのオプションがあります。よく使われるオプションについて紹介いたします。

オプション説明
-c アーカイブを作成する
-x アーカイブを伸長する
-f アーカイブファイル名を指定する
-p xのときのみ、パーミッションを維持する
-t アーカイブされているファイルのコンテンツをリストします
-z gzip で圧縮する
-j bzip2 で圧縮する
-J xz で圧縮する

tarファイルを作成する

tarアーカイブする
/hoem/tmp を /tmp/foo.tar にアーカイブします。
tar cf /tmp/foo.tar /home/foo/

** tarアーカイブを展開する
/home/bar に /tmp/foo.tar が展開されます。:
 tar xf /tmp/foo.tar /home/bar//

tarアーカイブしてgzipで圧縮する

 tar zcf /tmp/foo.tar.gz /home/foo/

gzipされたtarアーカイブを展開する

 tar zxf /tmp/foo.tar.gz /home/bar//

tarアーカイブしてgzip2で圧縮する

 tar jcf /tmp/foo.tar.bz2 /home/foo/

gzip2されたtarアーカイブを展開する

 tar jxf /tmp/foo.tar.bz2 /home/bar//

tarアーカイブしてxzで圧縮する

GNU tar 1.22からxzをサポートしています。
ここでは J オプションを使用していますが、 --xz オプションも同じです。
 tar Jcf /tmp/foo.tar.bz2 /home/foo/

xzされたtarアーカイブを展開する

GNU tar 1.22からxzをサポートしています。
ここでは J オプションを使用していますが、 --xz オプションも同じです。
 tar Jxf /tmp/foo.tar.bz2 /home/bar//

アーカイブのチェックサムを作成する


アーカイブファイルを作成して、 rsyncコマンドなどで、転送するということもあるかと思います。ファイルが壊れていないよね、というのを確認したいのであれば、チェックサムファイルを作成して、確認することができます。

ハッシュ系のコマンドでチェックサムファイルを作成するのもよいですが、OSによって、コマンドが異なったりするので、 openssl コマンドでやるのが、プラットフォームフリーで良いかな、と思っております。

転送元と転送先で、違うファイルにダイジェストを書き込み、両方を diff コマンド等で、比較して、確認することができます。

openssl dgst -sha256 *.gz > sha256.sum

openssl dgst -sha256 *.xz > sha256.sum

rsyncする場合の注意事項


rsyncコマンドには、圧縮オプションがあります。gzip や xz などで圧縮している場合には、rsyncコマンドで圧縮ファイルをさらに圧縮しても、たいして効果が得られません。そのため、圧縮ファイルだけを転送するのであれば、圧縮オプションを使わないほうが、CPUの時間が減り、転送が早くなると思います。

-z オプションなしでコマンドを実行する例は以下の通りです。
rsync -auP foo:bar .

関連

[2007-10-08-1] gzipコマンドの使い方
[2008-07-10-2] FreeBSD 標準入力 stdinをtarする方法
[2008-07-10-1] tarの標準出力 標準入力を使いこなす方法
参照しているページ (サイト内): [2009-03-08-1] [2008-08-21-1] [2008-07-10-2] [2008-07-10-1] [2007-10-08-1]

スポンサーリンク
スポンサーリンク
 
いつもシェア、ありがとうございます!


もっと情報を探しませんか?

関連記事

最近の記事

人気のページ

スポンサーリンク
 

過去ログ

2020 : 01 02 03 04 05 06 07 08 09 10 11 12
2019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12

サイト

Vim入門

C言語入門

C++入門

JavaScript/Node.js入門

Python入門

FreeBSD入門

Ubuntu入門

セキュリティ入門

パソコン自作入門

ブログ

トップ


プライバシーポリシー