Linux環境で複数のファイルやディレクトリをまとめたいときに便利なのが「tar」コマンドです。とくに「tar -cvf」はアーカイブ作成において基本となるオプションで、覚えておくと日常的な作業がぐっと効率化されます。本記事では、「tar -cvf」の意味や使い方、具体的な使用例を交えながら、初心者でもわかりやすく丁寧に解説していきます。サーバー管理やバックアップ、ファイル整理の場面で役立つ知識を身につけましょう。
tarコマンドとは?基本の役割と特徴
tar(Tape Archive)は、複数のファイルやディレクトリをひとつのアーカイブファイルにまとめるためのLinuxコマンドです。もともとは磁気テープへの書き出しに使用されていましたが、現在ではディスク上のファイルの圧縮やバックアップなどに広く使われています。
アーカイブされたファイルは、拡張子「.tar」を持つことが多く、圧縮されたわけではなく、単にひとつのまとまりとして扱えるようになった状態です。圧縮する場合はさらに「gzip」や「bzip2」などと組み合わせて使います。
「-cvf」オプションの意味と構文
「tar -cvf」は、以下のオプションで構成されています。
-c
(create):アーカイブファイルを作成する-v
(verbose):処理中のファイル名を表示する-f
(file):出力ファイル名を指定する
基本構文
tar -cvf アーカイブファイル名.tar 対象ファイルやディレクトリ
たとえば、sample1.txt
とsample2.txt
という2つのファイルを「archive.tar」にまとめるには、次のようにコマンドを入力します。
tar -cvf archive.tar sample1.txt sample2.txt
これにより、「archive.tar」というファイルが生成され、その中にsample1.txt
とsample2.txt
が含まれます。
実際に使ってみよう!具体的な使用例
ファイルを1つのアーカイブにまとめる
tar -cvf backup.tar file1.txt file2.txt file3.txt
このコマンドは、3つのファイルを「backup.tar」というアーカイブにまとめます。途中で処理されるファイル名が1つずつ表示されるため、進行状況がわかりやすいのが特徴です。
ディレクトリをアーカイブにする
ディレクトリごとアーカイブするには、そのディレクトリ名を指定します。
tar -cvf project.tar my_project/
この場合、「my_project」ディレクトリの中身がすべて「project.tar」に保存されます。再展開することで元のディレクトリ構造も保持されます。
よくある応用:圧縮を加える場合
先述の通り、tar -cvf
で作成されたファイルは圧縮されていません。容量を小さくしたい場合には、圧縮オプションを追加します。
gzipで圧縮する場合(.tar.gz)
tar -czvf archive.tar.gz target_folder/
ここで「z」はgzip圧縮を意味します。
bzip2で圧縮する場合(.tar.bz2)
tar -cjvf archive.tar.bz2 target_folder/
こちらの「j」はbzip2を示します。
圧縮せずにアーカイブだけしたい場合は「-cvf」
圧縮を行いたくない場合や、あとで別の方法で圧縮したい場合は「-cvf」だけを使うのが適切です。
展開(解凍)するときのコマンド
作成したアーカイブファイルを元に戻したい場合は、「-xvf」オプションを使います。
tar -xvf archive.tar
-x
:アーカイブの展開-v
:詳細を表示-f
:対象ファイル指定
展開先を指定しない場合、現在のディレクトリにファイルが復元されます。特定の場所に展開したい場合は「-C」オプションを使います。
tar -xvf archive.tar -C /path/to/extract/
アーカイブ作成で気をつけたいポイント
アーカイブ名と拡張子の一致
拡張子が正しくないと、後から何のファイルかわかりにくくなります。たとえば、gzipで圧縮した場合は「.tar.gz」、bzip2の場合は「.tar.bz2」を使いましょう。
ファイルやディレクトリのパスに注意
tarコマンドは指定したパスごと保存します。例えば、絶対パスで指定すると復元時にも同じパスに展開されることがあるため、相対パスで指定するのが安全です。
実行権限や所有権の扱い
アーカイブに含まれるファイルの権限や所有者情報も保存されます。別の環境で展開すると、意図しない権限設定になってしまうこともあります。必要に応じて「–no-same-owner」オプションを検討すると良いでしょう。
よく使うtar -cvfの組み合わせパターン
サブディレクトリも含めてまとめる
tar -cvf full_backup.tar /home/user/documents/
ファイルリストを使ってまとめる
tar -cvf selected_files.tar -T filelist.txt
この方法では、filelist.txt
に対象ファイルを1行ずつ書いておくことで、それらをまとめてアーカイブできます。
tar -cvfが活躍するシーン
- サーバーのバックアップ
- プログラムの配布
- 複数ファイルの転送
- バージョン管理外の一時保存
たとえば、Webサーバーの設定ファイルを一時的に保存したり、開発中の成果物を外部に送る際に「tar -cvf」はとても重宝されます。
まとめ:tar -cvfを使いこなして作業効率アップ!
「tar -cvf」コマンドは、Linuxにおける基本中の基本の操作です。ファイルやディレクトリをひとまとめにして管理しやすくすることで、バックアップや転送作業をスムーズにしてくれます。圧縮と組み合わせれば容量削減にもつながり、業務効率化に貢献します。
まずは簡単なコマンドから試してみて、徐々に応用的な使い方も身につけていきましょう。日常的な業務の中で自然に使えるようになると、Linux操作の幅がぐっと広がります。