tar コマンドは、複数のファイルやディレクトリをまとめるのに便利です。ある意味、zip コマンドに似ています。ただし、zip ファイルは定義上圧縮されています。 tar ファイルは圧縮できますが、圧縮する必要はありません。
tar ファイルの作成
以下の例では、次のファイル構造が使用されています:ファイル file1、file2、および file3 を含む /var/tmp/test という最上位ディレクトリ。
# ls -lR /var/tmp/test /var/tmp/test: total 12 -rw-r--r-- 1 root root 2277 Jan 4 09:57 file1 -rw-r--r-- 1 root root 1611 Jan 4 09:58 file2 -rw-r--r-- 1 root root 1456 Jan 4 09:58 file3
1. 既に /var/tmp/test ディレクトリにいると仮定して、test ディレクトリ内のすべてのファイルの tar ファイルを作成するには、次のコマンドを発行します。
# tar cvf test.tar . ./ tar: ./test.tar: file is the archive; not dumped ./file1 ./file3 ./file2
ここで、
c – 作成 (アーカイブ)
v – 詳細 (理由のみ)
f – ファイル名 (tar ファイルの名前)
. – 現在のディレクトリ
tar ファイルの内容の表示
現在のディレクトリには、test.tar というファイルが含まれます。 . tar ファイルの内容を表示するには、次のコマンドを発行します:
# tar tvf test.tar drwxr-xr-x root/root 0 2018-01-04 10:01 ./ -rw-r--r-- root/root 2277 2018-01-04 09:57 ./file1 -rw-r--r-- root/root 1456 2018-01-04 09:58 ./file3 -rw-r--r-- root/root 1611 2018-01-04 09:58 ./file2
ここでは、
t – 目次 (リスト)
v – 詳細 (すべての情報を表示)
f – ファイル名 (test.tar)
完全な tar ファイルの抽出
tar ファイルの内容全体を現在のディレクトリに展開するには、次のように入力します。
# tar xvf test.tar ./ ./file1 ./file3 ./file2
ここで、
x – 抽出
v – 詳細
f – ファイル名 (test.tar)
tar ファイルから特定のファイルを抽出する
tar ファイル全体を抽出する代わりに、tar ファイルから特定のファイルを抽出することもできます。アーカイブから file1 ファイルのみを抽出するには、次のコマンドを入力します:
tar xvf test.tar file1
tar による圧縮の使用
tar ファイルに圧縮を追加したい場合は、gzip を組み合わせることができます z を追加して、コマンド ラインで tar を使用するユーティリティ コマンドに切り替えます。通常、これが完了すると、tar ファイル名のサフィックスを .tar から .tgz または .tar.gz に変更します。これにより、ファイルを見た人は誰でも、それが gzip された tar ファイルであることがわかります。
# tar zcvf test.tgz . ./ ./file1 ./file3 ./file2 tar: .: file changed as we read it
# ls -lrt total 16 -rw-r--r-- 1 root root 2277 Jan 4 09:57 file1 -rw-r--r-- 1 root root 1611 Jan 4 09:58 file2 -rw-r--r-- 1 root root 1456 Jan 4 09:58 file3 -rw-r--r-- 1 root root 1639 Jan 4 11:27 test.tgz
ここでは、
z – gzip 圧縮
c – 作成
v – 詳細
f – ファイル名 (test.tgz)
. – 現在のディレクトリ
tar コマンドは、bzip2 と呼ばれる別の圧縮アルゴリズムを認識しています。 . gzip の代わりに bzip2 を使用するには、「z」を置き換えます。 ' 上記のコマンドで 'j ‘ 例:
# tar jcvf test.bz2 .
圧縮ファイルを抽出するには、オプション「z」および「j」を含めます。たとえば、
# tar xzvf test.tgz # tar xjvf test.bz2
tar によるアクセス許可の保持
バックアップするファイルの権限を保持したい場合は、p を使用してください tar コマンドのオプション。これにより、uid、gid、およびファイルの特定の権限属性 (読み取り、書き込み、実行など) が保存されます。
# tar pcvf test.tar .
上記の tar ファイルを抽出する際、p を使用する必要があります。 保持されたファイル権限でファイルを抽出する場合は、オプションを再度選択します。例:
# tar pxvf test.tar .