Tarは、LinuxおよびUnixシステムでアーカイブファイルを作成および操作するために使用されるコマンドラインツールです。 Tarコマンドは.tarアーカイブファイルを作成し、gzipまたはbzip2を使用して圧縮します。
1つのコマンドを使用して単一のアーカイブ圧縮ファイルを作成し、.tar.gzファイルまたは.tar.bz2ファイルを取得できます。 Tarコマンドを使用して、アーカイブファイルを抽出することもできます。
いくつかの実用的な例を通して、tarコマンドの動作を見てみましょう。
1).tarアーカイブファイルを作成します
非圧縮tar(.tar)を作成するには、次のようにtarコマンドで-cオプションを使用します。
$ tar -cvf /path/to/foo.tar /path/to/foo/
ここで'/path/to/foo.tar' は結果のtarファイルの場所であり、「/ path / to/foo」は入力として使用するファイルまたはディレクトリの場所です。
例
$ tar -cvf powerlog.tar powerlog
a powerlog
$ ls
powerlog powerlog.tar
例に示すように、相対パスの代わりに絶対パスを使用できます。
2)tarを使用して.gzアーカイブを作成します
.gz
を作成するためのコマンド構文 tarを使用したアーカイブは次のとおりです:
$ tar -czvf /path/to/foo.tgz /path/to/foo/
ここで、「/ path / to / foo.tgz」は宛先の圧縮ファイルであり、「 / path / to / foo /'は、圧縮するソースディレクトリまたはファイルです。
3).bz2アーカイブを作成します
オプション-j
.bz2アーカイブを操作するために使用されます。
$ tar -cjvf /path/to/foo.tgz /path/to/foo/
4).gzアーカイブを作成して除外します
--exclude
を使用します 特定の拡張子またはファイル拡張子のリストを除外するtarオプション。構文は次のようになります。
$ tar -czvf /path/to/foo.tgz --exclude=\*.{jpg,gif,png,wmv,flv,tar.gz,zip} /path/to/foo/.
5)compressで絶対パスのないtarを使用する
tarを使用してファイルを圧縮し、絶対パスを指定すると、圧縮ファイルのメタデータにフルパスが含まれるため、コンテンツを抽出すると、渡された絶対パスと同様のディレクトリに配置されます。これを回避するには、を追加します。 コマンドの最後に。
$ tar -zcvf /path/to/foo.tgz -C/path/to/foo .
6)特定の文字で始まるすべてのファイルをtarします
'i'で始まる現在のディレクトリ内のすべてのtarアーカイブを作成します。
# tar -cvf fullbackup.tar i*
install.log
install.log.syslog
7)既存のtarアーカイブに新しいファイルを追加します
ファイルを追加するか、既存のtarアーカイブに新しいファイルを追加します。
# tar --append --file=backup.tar anaconda-ks.cfg
上記のコマンドは、backup.tarアーカイブにanaconda-ks.cfgファイルを追加します
8)連結オプションを使用して2つのアーカイブファイルを追加する
# tar --concatenate --file=backup.tar fullbackup.tar
上記のコマンドは、fullbackup.tarのコンテンツをbackup.tarアーカイブに追加します。
9).tarアーカイブファイルを抽出します
拡張子が.tar
であることが多い非圧縮アーカイブを抽出するには 、コマンド構文は次のとおりです。
$ tar -xvf /path/to/foo.tar
ここで、/ path / to / foo.tarは、tarファイルの場所への絶対パス/相対パスです。例
$ tar -xvf powerlog.tar
x powerlog/
10).gzアーカイブを抽出します
.gz
を抽出するには アーカイブでは、コマンド構文を使用します:
$ tar -xzvf /path/to/foo.tgz
ここで、「/ path / to / foo.tgz」は、圧縮ファイルへの絶対パスまたは相対パスです。
11).bz2アーカイブを抽出します
.bz2
を抽出するためのコマンド構文 アーカイブは
$ tar -xjvf /path/to/foo.bz2
-j
で圧縮されている限り、.tgzファイルを渡すことができることに注意してください。 オプション。 Tarはフォーマットを自動検出し、解凍します。
12)指定したディレクトリに.tarを抽出します
tarアーカイブを特定のディレクトリに抽出するには、-C
を使用します 宛先ディレクトリを提供するオプション。
$ tar -xvf /path/to/foo.tar -C /path/to/destination/
13)tarアーカイブからファイルを抽出します
次のコマンドは、「backup.tar」アーカイブ内の「anaconda-ks.cfg」ファイルを抽出します。
# tar --extract -vv --occurrence --file=./backup.tar anaconda-ks.cfg
-rw-r--r-- root/root 766 2008-04-12 06:52:42 anaconda-ks.cfg
14).gzアーカイブの内容を一覧表示する
.tgz
のコンテンツのみを表示したいとします。 それらを抽出せずにファイルを作成するには、次のコマンド構文を使用します:
$ tar -ztvf /path/to/foo.tgz
'/path/to/foo.tgz'を.tgzの正しいパスに置き換えるだけです。 ファイル
15).bz2アーカイブファイルのコンテンツを一覧表示する
.bz2
のコンテンツだけを表示したい場合 抽出せずにアーカイブするには、次のコマンドを使用します:
$ tar -jtvf /path/to/foo.tgz
16)tarコマンドを使用してシンボリックリンクを保持する
tar -cvhf
を使用します tarアーカイブを生成するときにシンボリックリンクを保持するため(そのためにオプション「h」を使用します)。
結論
tarコマンドのすべてのオプションを覚えるのは難しいです。以下は、一般的に使用されるtarオプションのリストです。
- j
:bzip2でアーカイブをフィルタリングするために使用されます。
- v
:コマンドを冗長モードで実行して、アーカイブファイルの進行状況を表示します。
- f
:アーカイブファイル名を指定してください。
- W
:アーカイブファイルの検証に使用されます。
- z
:gzipツールでアーカイブをフィルタリングします。
- t
:アーカイブファイルの内容を表示するために使用します。
-c
:指定したアイテムを含む新しいアーカイブを作成します。
-r
:ファイルまたはディレクトリを使用して既存のアーカイブを追加または更新するために使用されます
-t
:stdoutにアーカイブの内容を一覧表示します。
-u
:-rと同様ですが、新しいエントリは、アーカイブ内の対応するエントリよりも変更日が新しい場合にのみ追加されます。
-x
:アーカイブファイルをディスクに抽出します。
すべてのtar操作で、ユーティリティは0
で終了します。 成功すると、>0
エラーが発生した場合。スクリプトでtarを使用している場合は、これを理解することが重要です。
tarコマンドに関するこのチュートリアルを楽しんでいただけたでしょうか。以下のコメントセクションに提案を残してください。
関連項目:
- tarコマンドでシンボリックリンクを保持する方法