Linux では、ファイルの管理に役立つ 2 つの特定のユーティリティを使用することがよくあります。最初のユーティリティは、テープ アーカイバまたは tar です。 2 つ目は、gzip などの圧縮ユーティリティです。 tar の目的は、複数のファイルを .tar 拡張子を持つ 1 つの tarball にまとめることです。これにより、複数のファイルを取得するために必要なダウンロードは 1 つだけなので、ダウンロードなどの機能がはるかに簡単になります。サーバー管理者がファイルのバンドルを作成し、バンドルをダウンロードした人がバンドルからファイルを抽出します。
Linux で使用できるソフトウェアの多くは tarball で配布されているため、tar の操作方法を知っておくことは不可欠です。以下は、tarball を作成する例です:
$ tar -cvf tarball.tar file1 file2 file3
これにより、file1、file2、および file3 が tarball.tar という名前の tarball にバンドルされます。
tar コマンド オプション
tar コマンドの基本的なオプションは次のとおりです。
オプション | 慣れている |
---|---|
-c | tarball を作成します。 |
-x | tarball を解凍します。 |
-v | 冗長モードを有効にします。 |
-r | 既存の tarball にさらにファイルを追加します。 |
-t | tarball をテストするか、tarball に含まれるファイルを確認します。 |
-f | 次の引数で tarball の名前を指定します (最後のオプションとして使用する必要があります)。 |
tar コマンドの例
1. アーカイブを作成するには:
# tar -cvf test.tar test1 test2 test3 test4 # tar -cvf test.tar test* # tar -cvf etc.bk /etc
2. tar ボールの内容を表示する
# tar -tvf test.tar
3. tar ボールを抽出するには:
# tar -xvf test.tar
4. tar ボールにファイルを追加/追加するには:
# tar --append -f test.tar test5
5. tar ボールからファイルを削除するには:
# tar --delete -f test.tar test6
6. tar ボールから単一のファイルを抽出します:
# tar -xvf test.tar test4 # tar -xvf test.tar /tmp/test4
7. tar ボールから複数のファイルを抽出します:
# tar -xvf test.tar "test1" "test2"
8. tar ボールからファイルのグループを抽出します:
# tar -xvf test.tar "*.test"
9. ファイルまたはディレクトリを tar ボールに追加/追加:
# tar -rvf test.tar /tmp
10. tar ボールを確認するには:
# tar tvfW test.tar
11. gzip アーカイブ ファイルとファイル システムの違いを見つける:
# tar -dvf test.tar.gz
12. bzip2 アーカイブ ファイルとファイル システムの違いを見つける:
# tar -dvf test.tar.bz2
13. gzip された tar ボール/アーカイブの作成:
# tar -czvf test.tar.gz /tmp
14. bzip2 tar ボール/アーカイブの作成:
# tar -jcvf test.tar.bz2 /tmp
15. gzip / bzip2 tar ボールを展開します:
# tar -xvf test.tar.gz # tar -xvf test.tar.bz2
16. gzip / bzip2 tar ボールの内容をリストします:
# tar tvf test.tar.gz # tar tvf test.tar.bz2
17. gzip / bzip2 tar アーカイブから単一のファイルを抽出します:
# tar -jxvf test.tar.bz2 # tar -zxvf test.tar.gz
18. gzip / bzip2 tar アーカイブからファイルのグループを抽出します:
# tar -jxvf test.tar.bz2 --wildcards "test*" # tar -zxvf test.tar.gz --wildcards "test*"
19. ファイルシステムのバックアップを取るには:
# tar -cvf etc.bk /etc # tar -cvf tmp.bk /tmp # tar -cvf var.bk /var # tar cvf boot.bk /boot
20. システムをバックアップするには:
# tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --one-file-system /