Linux – tarコマンドの使い方 – tarアーカイブの作成
tarコマンドは、Linuxでファイルやディレクトリをまとめてアーカイブするために使用されます。
アーカイブの作成には、tarコマンドに-c(create)オプションを指定します。
基本的な構文はtar -cf アーカイブ名.tar 対象ファイル/ディレクトリです。
-fオプションはアーカイブファイル名を指定するために必要です。
圧縮を伴う場合は、gzipなら-z、bzip2なら-jを追加します(例: tar -czf アーカイブ名.tar.gz 対象)。
tarコマンドとは
tarコマンドは、LinuxやUnix系のオペレーティングシステムで使用されるアーカイブツールです。
このコマンドは、複数のファイルやディレクトリを一つのファイルにまとめることができ、バックアップや配布に便利です。
tarは tape archive の略で、元々はテープドライブへのバックアップを目的として開発されましたが、現在では多くの用途に利用されています。
主な機能
- アーカイブ作成: 複数のファイルを一つのアーカイブファイルにまとめる。
- アーカイブ展開: 作成したアーカイブファイルから元のファイルを復元する。
- 圧縮: gzipやbzip2などの圧縮ツールと組み合わせて、アーカイブファイルのサイズを小さくすることができる。
以下は、tarコマンドを使用してディレクトリをアーカイブする基本的な例です。
tar -cvf archive.tar /path/to/directoryこのコマンドは、指定したディレクトリをarchive.tarという名前のアーカイブファイルにまとめます。
出力結果は特に表示されませんが、アーカイブが正常に作成されると、指定したファイルがarchive.tarに含まれます。
tarアーカイブの作成方法
tarコマンドを使用してアーカイブを作成する方法は非常にシンプルです。
基本的な構文は以下の通りです。
tar -cvf アーカイブ名.tar 対象ファイルまたはディレクトリオプションの説明
- -c: 新しいアーカイブを作成する。
- -v: 詳細情報を表示する(verbose)。
- -f: アーカイブファイルの名前を指定する。
具体的な例
以下に、特定のディレクトリをアーカイブする具体的な例を示します。
tar -cvf my_archive.tar /home/user/documentsこのコマンドは、/home/user/documentsディレクトリをmy_archive.tarという名前のアーカイブファイルにまとめます。
出力結果は次のようになります。
documents/
documents/file1.txt
documents/file2.txt複数ファイルのアーカイブ
複数のファイルを同時にアーカイブすることも可能です。
以下のように、ファイル名をスペースで区切って指定します。
tar -cvf my_files.tar file1.txt file2.txt file3.txtこのコマンドは、file1.txt、file2.txt、file3.txtをmy_files.tarというアーカイブにまとめます。
出力結果は次のようになります。
file1.txt
file2.txt
file3.txtディレクトリ全体のアーカイブ
ディレクトリ全体をアーカイブする場合、ディレクトリ名を指定するだけで、その中のすべてのファイルとサブディレクトリが含まれます。
tar -cvf full_backup.tar /home/userこのコマンドは、/home/userディレクトリ全体をfull_backup.tarというアーカイブにまとめます。
出力結果は、アーカイブに含まれるすべてのファイルとディレクトリのリストが表示されます。
圧縮を伴うtarアーカイブの作成
tarコマンドは、アーカイブを作成する際に圧縮を同時に行うことができます。
これにより、アーカイブファイルのサイズを小さくし、ストレージの節約や転送時間の短縮が可能になります。
圧縮には主にgzipやbzip2が使用されます。
gzipを使用した圧縮
gzipを使用して圧縮を行う場合、-zオプションを追加します。
以下はその基本的な構文です。
tar -czvf アーカイブ名.tar.gz 対象ファイルまたはディレクトリ例えば、/home/user/documentsディレクトリをmy_archive.tar.gzという名前で圧縮アーカイブを作成する場合、次のようにコマンドを実行します。
tar -czvf my_archive.tar.gz /home/user/documents出力結果は次のようになります。
documents/
documents/file1.txt
documents/file2.txtbzip2を使用した圧縮
bzip2を使用する場合は、-jオプションを使用します。
以下はその基本的な構文です。
tar -cjvf アーカイブ名.tar.bz2 対象ファイルまたはディレクトリ/home/user/documentsディレクトリをmy_archive.tar.bz2という名前で圧縮アーカイブを作成する場合、次のようにコマンドを実行します。
tar -cjvf my_archive.tar.bz2 /home/user/documents出力結果は次のようになります。
documents/
documents/file1.txt
documents/file2.txt圧縮の選択
- gzip: 圧縮速度が速く、解凍も簡単ですが、圧縮率はbzip2より低いです。
- bzip2: 圧縮率が高いですが、圧縮速度は遅く、解凍も少し時間がかかります。
圧縮アーカイブの確認
圧縮されたアーカイブファイルの内容を確認するには、-tオプションを使用します。
以下のコマンドで、my_archive.tar.gzの内容を確認できます。
tar -tzvf my_archive.tar.gz出力結果は、アーカイブ内のファイルとディレクトリのリストが表示されます。
tarコマンドの便利なオプション
tarコマンドには、アーカイブの作成や操作をより便利にするための多くのオプションがあります。
ここでは、特に役立つオプションをいくつか紹介します。
主なオプション一覧
| オプション | 説明 | 
|---|---|
| -c | 新しいアーカイブを作成する。 | 
| -x | アーカイブを展開する。 | 
| -t | アーカイブの内容を表示する。 | 
| -v | 詳細情報を表示する(verbose)。 | 
| -f | アーカイブファイルの名前を指定する。 | 
| -z | gzipで圧縮または解凍する。 | 
| -j | bzip2で圧縮または解凍する。 | 
| -C | 指定したディレクトリに移動してからアーカイブを展開する。 | 
便利なオプションの使用例
アーカイブの展開
アーカイブを展開する際には、-xオプションを使用します。
以下のコマンドは、my_archive.tar.gzを現在のディレクトリに展開します。
tar -xzvf my_archive.tar.gz出力結果は、展開されたファイルとディレクトリのリストが表示されます。
特定のファイルを展開
アーカイブ内の特定のファイルだけを展開したい場合、ファイル名を指定します。
tar -xzvf my_archive.tar.gz file1.txtこのコマンドは、my_archive.tar.gzからfile1.txtのみを展開します。
アーカイブの内容を確認
アーカイブの内容を確認するには、-tオプションを使用します。
以下のコマンドで、アーカイブ内のファイルリストを表示できます。
tar -tzvf my_archive.tar.gz出力結果は、アーカイブ内のすべてのファイルとディレクトリのリストが表示されます。
ディレクトリを指定して展開
アーカイブを特定のディレクトリに展開する場合、-Cオプションを使用します。
以下のコマンドは、my_archive.tar.gzを/home/user/extractedディレクトリに展開します。
tar -xzvf my_archive.tar.gz -C /home/user/extractedこのように、tarコマンドのオプションを活用することで、アーカイブの作成や管理がより効率的に行えます。
tarアーカイブの確認と操作
tarコマンドを使用して作成したアーカイブファイルの内容を確認したり、操作を行ったりする方法について説明します。
これにより、アーカイブの管理がより効率的になります。
アーカイブの内容を確認する
アーカイブの内容を確認するには、-tオプションを使用します。
このオプションを使うことで、アーカイブ内に含まれるファイルやディレクトリのリストを表示できます。
tar -tzvf my_archive.tar.gzこのコマンドは、my_archive.tar.gzの内容を詳細に表示します。
出力結果は次のようになります。
drwxr-xr-x user/user      0 2023-10-01 12:00 documents/
-rw-r--r-- user/user  12345 2023-10-01 12:00 documents/file1.txt
-rw-r--r-- user/user  67890 2023-10-01 12:00 documents/file2.txtアーカイブの展開
アーカイブを展開するには、-xオプションを使用します。
これにより、アーカイブ内のすべてのファイルやディレクトリを指定した場所に復元できます。
tar -xzvf my_archive.tar.gzこのコマンドは、my_archive.tar.gzを現在のディレクトリに展開します。
出力結果は、展開されたファイルのリストが表示されます。
特定のファイルを展開する
アーカイブ内の特定のファイルだけを展開したい場合、ファイル名を指定することができます。
tar -xzvf my_archive.tar.gz file1.txtこのコマンドは、my_archive.tar.gzからfile1.txtのみを展開します。
アーカイブの削除
アーカイブファイルを削除するには、通常のファイル削除コマンドを使用します。
rmコマンドを使って、アーカイブファイルを削除できます。
rm my_archive.tar.gzこのコマンドは、my_archive.tar.gzを削除します。
アーカイブの更新
既存のアーカイブに新しいファイルを追加するには、-rオプションを使用します。
これにより、アーカイブにファイルを追加することができます。
tar -rvf my_archive.tar file3.txtこのコマンドは、file3.txtをmy_archive.tarに追加します。
出力結果は、追加されたファイルの情報が表示されます。
アーカイブの圧縮解除
圧縮されたアーカイブの圧縮を解除するには、-dオプションを使用します。
以下のコマンドで、my_archive.tar.gzの圧縮を解除し、元のファイルを復元します。
tar -xvzf my_archive.tar.gzこのように、tarコマンドを使用することで、アーカイブの確認や操作が簡単に行えます。
これにより、ファイルの管理がより効率的になります。
tarコマンドの実行例
ここでは、tarコマンドの具体的な実行例をいくつか紹介します。
これにより、実際の使用シーンをイメージしやすくなります。
1. ディレクトリのアーカイブ作成
特定のディレクトリをアーカイブする基本的な例です。
以下のコマンドは、/home/user/documentsディレクトリをdocuments_backup.tarという名前でアーカイブします。
tar -cvf documents_backup.tar /home/user/documents出力結果は次のようになります。
documents/
documents/file1.txt
documents/file2.txt2. 圧縮アーカイブの作成
gzipを使用して圧縮されたアーカイブを作成する例です。
以下のコマンドは、/home/user/documentsディレクトリをdocuments_backup.tar.gzという名前で圧縮アーカイブします。
tar -czvf documents_backup.tar.gz /home/user/documents出力結果は次のようになります。
documents/
documents/file1.txt
documents/file2.txt3. アーカイブの展開
作成したアーカイブを展開する例です。
以下のコマンドは、documents_backup.tar.gzを現在のディレクトリに展開します。
tar -xzvf documents_backup.tar.gz出力結果は、展開されたファイルのリストが表示されます。
4. 特定のファイルを展開
アーカイブ内の特定のファイルだけを展開する例です。
以下のコマンドは、documents_backup.tar.gzからfile1.txtのみを展開します。
tar -xzvf documents_backup.tar.gz file1.txt出力結果は、展開されたファイルの情報が表示されます。
5. アーカイブの内容を確認
アーカイブの内容を確認する例です。
以下のコマンドは、documents_backup.tar.gzの内容を表示します。
tar -tzvf documents_backup.tar.gz出力結果は、アーカイブ内のファイルとディレクトリのリストが表示されます。
6. アーカイブの更新
既存のアーカイブに新しいファイルを追加する例です。
以下のコマンドは、file3.txtをdocuments_backup.tarに追加します。
tar -rvf documents_backup.tar file3.txt出力結果は、追加されたファイルの情報が表示されます。
7. アーカイブの削除
アーカイブファイルを削除する例です。
以下のコマンドは、documents_backup.tar.gzを削除します。
rm documents_backup.tar.gzこのように、tarコマンドは多様な操作が可能で、ファイルやディレクトリの管理に非常に便利です。
これらの実行例を参考にして、実際の作業に役立ててください。
まとめ
この記事では、tarコマンドの基本的な使い方から、アーカイブの作成、圧縮、展開、内容の確認、特定のファイルの操作まで、幅広く解説しました。
これにより、ファイルやディレクトリの管理が効率的に行えることがわかります。
ぜひ、実際の作業にtarコマンドを活用し、日々の業務をよりスムーズに進めてみてください。
 
![[linux] yumコマンドの使い方 – パッケージの管理/インストール](https://af-e.net/wp-content/uploads/2024/10/thumbnail-47134-1.png)
![[linux] xargコマンドの使い方 – 別コマンドの出力をコマンドに渡す](https://af-e.net/wp-content/uploads/2024/10/thumbnail-47133-1.png)
![[linux] シェルのwhile文の使い方 – 繰り返しコマンド処理する](https://af-e.net/wp-content/uploads/2024/10/thumbnail-47132-1.png)
![[linux] whichコマンドの使い方 – コマンドのフルパスを表示](https://af-e.net/wp-content/uploads/2024/10/thumbnail-47130-1.png)
![[linux] whereisコマンドの使い方 – コマンドが存在するディレクトリの検索](https://af-e.net/wp-content/uploads/2024/10/thumbnail-47129-1.png)
![[linux] whatisコマンドの使い方 – コマンドを検索する](https://af-e.net/wp-content/uploads/2024/10/thumbnail-47128-1.png)
![[linux] waitコマンドの使い方 – プロセスやジョブの終了を待機](https://af-e.net/wp-content/uploads/2024/10/thumbnail-47127-1.png)
![[linux] useraddコマンドの使い方 – ユーザーを追加する](https://af-e.net/wp-content/uploads/2024/10/thumbnail-47126-1.png)
![[linux] unsetenvコマンドの使い方 – 環境変数の削除](https://af-e.net/wp-content/uploads/2024/10/thumbnail-47125-1.png)
![[linux] unsetコマンドの使い方 – 定義済み変数・関数の削除](https://af-e.net/wp-content/uploads/2024/10/thumbnail-47124-1.png)
![[linux] ulimitコマンドの使い方 – プロセスリソース制限の設定](https://af-e.net/wp-content/uploads/2024/10/thumbnail-47123-1.png)
![[linux] uniqコマンドの使い方 – テキストファイルの重複行の表示・削除](https://af-e.net/wp-content/uploads/2024/10/thumbnail-47122-1.png)