LinuxでのTarコマンドの例18選

Linuxの「tar」は、テープアーカイブを表し、多くのLinux/Unixシステム管理者によって、Linuxでのテープドライブバックアップの取り扱いに使用されています。

Linuxのtarコマンドは、ファイルとディレクトリのコレクションを非常に圧縮されたアーカイブファイル、一般的にはtarballまたはtargzip、およびbzipとして知られているものにリッピングするために使用されます。Linux

tarは、圧縮されたアーカイブファイルを作成するために最も広く使用されており、これらのファイルは簡単にディスクから別のディスクまたはマシンからマシンに移動できます。

tar – A Linux Archiving Utility

この記事では、(tartar.gz、およびtar.bz2)圧縮を使用してアーカイブファイルを作成する方法、アーカイブファイルを抽出する方法、単一ファイルを抽出する方法、ファイルの内容を表示する方法、ファイルを確認する方法、ファイルまたはディレクトリを既存のアーカイブファイルに追加する方法、tarアーカイブファイルのサイズを推定する方法など、さまざまなtarコマンドの例をレビューおよび議論します。

このガイドの主な目的は、tarアーカイブ操作の理解と専門家になるのに役立つかもしれないさまざまなtarコマンドの例を提供することです。

1. Tarアーカイブファイルの作成

以下のtarコマンドの例では、現在の作業ディレクトリにディレクトリ/home/tecmintのためのtecmint-17-11-2023.tarという名前のtarアーカイブファイルが作成されます。

tarコマンドの例を見てみましょう。

tar -cvf tecmint-17-11-2023.tar /home/tecmint/
Create a Tar Archive File

上記のtarコマンドで使用される各オプションについて議論しましょう。

  • c – Creates a new .tar archive file.
  • v – Verbosely show the .tar file progress.
  • f – File name type of the archive file.

2. 圧縮されたTarアーカイブの作成

圧縮されたアーカイブファイルを作成するには、オプション'z'(gzipを使用してアーカイブを圧縮する)を使用します。たとえば、以下のコマンドは、ディレクトリ’/home/MyImages‘のために'MyImages-17-11-2023.tar.gz'という名前の圧縮ファイルを生成します。(注:'tar.gz''tgz'は同じ意味です)。

tar cvzf MyImages-17-11-2023.tar.gz /home/tecmint/MyImages
OR
tar cvzf MyImages-17-11-2023.tgz /home/tecmint/MyImages
Create a Compressed Tar Archive

3. Linuxでのtar.bz2ファイルの作成

bz2機能は、gzipよりもサイズが小さいアーカイブファイルを圧縮して作成します。ただし、bz2圧縮方法は、圧縮および展開の両方においてより多くの時間が必要ですが、gzipは両方のプロセスでより高速です。

すべてのファイルとサブディレクトリをバンドルして、/home/phpディレクトリ内にあるファイルを使用して、Phpfiles-org.tar.bz2という名前の高度に圧縮された新しいtarアーカイブを作成するには、-jオプションを使用します。これにより、tarbzip2圧縮アルゴリズムを利用し、効率的な保存と転送のためのより小さいファイルサイズが生成されます。

注意tar.bz2およびtbzは類似の用語であり、tb2を指します。

tar cvfj Phpfiles-org.tar.bz2 /home/tecmint/php
OR
tar cvfj Phpfiles-org.tar.tbz /home/tecmint/php
OR 
tar cvfj Phpfiles-org.tar.tb2 /home/tecmint/php
Create a tar.bz2 file Linux

4. Tarアーカイブの抽出

tarファイルをuntarまたは抽出するには、単純に次のコマンドを実行します。オプション’'x'‘(抽出)を使用します。たとえば、以下のコマンドは、現在の作業ディレクトリにあるファイル’tecmint-17-11-2023.tar‘をuntarします。

tar -xvf tecmint-17-11-2023.tar

別のディレクトリにuntarしたい場合は、オプション’-C‘(指定されたディレクトリ)を使用します。

tar -xvf tecmint-17-11-2023.tar -C /home/tecmint/

5. 圧縮されたtar.gzアーカイブの抽出

圧縮されたtarアーカイブファイル’MyImages-17-11-2023.tar.gz‘の内容を抽出するには、次のコマンドを使用します。

tar -xvf MyImages-17-11-2023.tar.gz

別のディレクトリに抽出したい場合は、オプション’-C‘を使用し、指定されたディレクトリにファイルを抽出します。

tar -xvf MyImages-17-11-2023.tar.gz -C /home/tecmint/

6. tar.bz2アーカイブの抽出

高度に圧縮されたtar.bz2ファイルを解凍するには、次のコマンドを使用します。これにより、アーカイブファイルからすべてのファイルがuntarされます。

tar -xvf Phpfiles-org.tar.bz2

7. tarアーカイブの内容のリスト表示

tarアーカイブファイルの内容をリスト表示するには、次のコマンドを実行します。オプション’-t‘(コンテンツのリスト表示)を使用すると、’tecmint-17-11-2023.tar’アーカイブ内に含まれるファイルとディレクトリの詳細なリストが表示されます。

tar -tvf tecmint-17-11-2023.tar
View Tar Contents Without Extracting

8. tar.gzアーカイブのコンテンツの表示

次のコマンドは、「MyImages-17-11-2023.tar.gz」アーカイブ内に含まれるファイルとディレクトリの詳細なリストを表示します。

tar -tvf MyImages-17-11-2023.tar.gz
View Tar.gz Contents Without Extracting

9. tar.bz2アーカイブのコンテンツの印刷

次のコマンドは、「Phpfiles-org.tar.bz2」アーカイブ内の内容の概要を抽出せずに提供します。

tar -tvf Phpfiles-org.tar.bz2
View Tar Contents Without Extracting

10. アーカイブから単一のファイルを抽出

アーカイブ Phpfiles-org.tar.bz2からwp-cron.phpという単一のファイルを抽出するには、次のコマンドを使用します。抽出したいファイルの正しいパスを指定してください。

tar -xvf Phpfiles-org.tar.bz2 home/tecmint/php/wp-cron.php
Extract File From Tar Archive

11. アーカイブから複数のファイルを抽出

tartar.gz、およびtar.bz2アーカイブファイルから複数のファイルを抽出または展開するには、次のコマンドを使用します。指定されたアーカイブファイルからファイルを抽出します。

tar -xvf tecmint-17-11-2023.tar "file1" "file2" 
tar -zxvf MyImages-17-11-2023.tar.gz "file1" "file2" 
tar -jxvf Phpfiles-org.tar.bz2 "file1" "file2"

12. Linuxでワイルドカードを使用してファイルのグループを抽出

ファイルのグループを抽出する際には、ワイルドカードを使用して抽出します。たとえば、.php から始まるすべてのファイルのグループを tartar.gztar.bz2 アーカイブファイルから抽出するには、次のようにします:

tar -xvf Phpfiles-org.tar --wildcards '*.php'
tar -zxvf Phpfiles-org.tar.gz --wildcards '*.php'
tar -jxvf Phpfiles-org.tar.bz2 --wildcards '*.php'

13. 既存のアーカイブにファイルを追加する

ファイルやディレクトリを既存の tartar.gztar.bz2 アーカイブファイルに追加するには、オプション -r を使用します。これにより、ファイルが既存のアーカイブファイルに追加されます。

tar -rvf tecmint-14-09-12.tar xyz.txt
tar -rvf MyImages-14-09-12.tar.gz xyz.txt
tar -rvf Phpfiles-org.tar.bz2 xyz.txt

14. Tar アーカイブファイルの検証

次のコマンドは、指定されたアーカイブファイルに含まれるファイルとディレクトリの詳細なリストを表示し、アーカイブの内容を目視で確認できます。アーカイブが破損しているか不完全である場合、この検証プロセスによってリスト作成中にエラーが発生する可能性があります。

tar -tvf Phpfiles-org.tar.bz2

15. Tar アーカイブファイルのサイズを確認する

tartar.gztar.bz2 アーカイブファイルのサイズを確認するには、次のコマンドを使用します。これにより、アーカイブファイルのサイズがキロバイト (KB) で表示されます。

tar -czf - tecmint-14-09-12.tar xyz.txt | wc -c
tar -czf - MyImages-14-09-12.tar.gz xyz.txt | wc -c
tar -czf - Phpfiles-org.tar.bz2 xyz.txt | wc -c

16. Tar アーカイブを作成する際のファイルの除外

指定されたファイルやディレクトリを除外してtarアーカイブファイルを作成するには、次のコマンドを使用します。

tar --exclude='file1.txt' -zcvf backup.tar.gz /home/tecmint
tar --exclude='/home/tecmint/uploads' -zcvf backup.tar.gz /home/tecmint

上記のコマンドでは、ファイル「file1.txt」と「uploads」ディレクトリを/home/tecmintフォルダから除外しました。

特定のファイル拡張子(.txt)を除外する場合は、次を使用します。

tar --exclude='*.txt' -zcvf backup.tar.gz /home/tecmint

17. Tarアーカイブからファイルを削除

次のtarコマンドは、--deleteオプションを使用して、既に作成されたtarファイルからファイルまたはディレクトリを削除します。

tar --delete -f backup.tar.gz file1.txt
tar --delete -f backup.tar.gz '/home/tecmint/uploads'

18. Tarアーカイブからファイル拡張子を抽出

次のtarコマンドは、--wildcardsオプションを使用して、特定の拡張子.pngのファイルのみをtarアーカイブファイルから抽出します。

tar -xvf backup.tar.gz --wildcards '*.png'

19. Tarコマンドの使用法とオプション

tar」コマンドのさまざまなオプションと使用パターンを理解することは、効率的なファイルのアーカイブ、圧縮、および抽出には不可欠です。

  • -c – アーカイブファイルを作成します。
  • -x – アーカイブファイルを抽出します。
  • -v – アーカイブファイルの進行状況を表示します。
  • -f – アーカイブファイルのファイル名です。
  • -t – アーカイブファイルの内容を表示します。
  • -u – 既存のアーカイブファイルにアーカイブを追加します。
  • -j – アーカイブを bzip2 を介してフィルタリングします。
  • -z – アーカイブを gzip を介してフィルタリングします。
  • -r – 既存のアーカイブファイルにファイルやディレクトリを追加または更新します。
  • -W – アーカイブファイルを検証します。
  • -A – アーカイブファイルを連結します。
  • --wildcards – UNIX tar コマンドでパターンを指定します。
  • --exclude – アーカイブを作成する際にファイルやディレクトリを除外します。
  • --delete – アーカイブからファイルやディレクトリを削除します。

これで以上です。上記の tar コマンドの例 で学ぶのに十分であることを願っています。さらに情報が必要な場合は、man tar コマンドを使用してください。

# man tar

大きな tar アーカイブファイルを複数の部分またはブロックに分割する場合は、次の記事をご覧ください:

もし私たちが何か例を見逃していたら、コメントボックスから共有してください。そして、この記事を友達と共有することを忘れないでください。これが感謝の最良の方法です…

Source:
https://www.tecmint.com/tar-command-examples-linux/