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.txt
bzip2を使用した圧縮
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.txt
2. 圧縮アーカイブの作成
gzip
を使用して圧縮されたアーカイブを作成する例です。
以下のコマンドは、/home/user/documents
ディレクトリをdocuments_backup.tar.gz
という名前で圧縮アーカイブします。
tar -czvf documents_backup.tar.gz /home/user/documents
出力結果は次のようになります。
documents/
documents/file1.txt
documents/file2.txt
3. アーカイブの展開
作成したアーカイブを展開する例です。
以下のコマンドは、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
コマンドを活用し、日々の業務をよりスムーズに進めてみてください。