Categories: linux

tar -czvfで圧縮!Linuxでファイルをまとめてgzip圧縮する方法をやさしく解説

Linuxのコマンドラインでファイルやディレクトリをまとめて圧縮したいとき、よく使われるのが tar コマンドです。特に tar -czvf というオプションの組み合わせは、複数のファイルを一つにまとめつつ、同時にgzip形式で圧縮する際に重宝されます。初めてLinuxに触れる方には少し難しく感じるかもしれませんが、この記事では tar -czvf の使い方を基本から丁寧に解説します。使いこなせるようになれば、バックアップやデータの受け渡しなどにも役立ちますよ。


tarコマンドとは?基本の役割をおさらい

tar(タール)は、複数のファイルやディレクトリをひとつのアーカイブファイルにまとめるためのコマンドです。元々はテープ装置にデータを書き込むためのコマンドとして誕生しましたが、今では多くのLinuxディストリビューションで、アーカイブ作成と圧縮の定番ツールとして使われています。

ただし、tarコマンド単体では圧縮は行われません。あくまで「ひとまとめ」にするだけです。圧縮を行うには、gzipやbzip2などの圧縮プログラムと連携する必要があります。


gzipとは?tarとの関係は?

gzip(ジー・ジップ)は、ファイルを圧縮してサイズを小さくするためのツールです。.gzという拡張子が付くファイルはgzip形式で圧縮されたファイルであることを示しています。

tarで作成したアーカイブファイル(たとえば backup.tar)をそのままgzipで圧縮すると、backup.tar.gz という形になります。このように、tarとgzipはよくセットで使われるのです。

ただし、わざわざ2つのコマンドを使うのは面倒ですよね。そんなときに便利なのが、tar -czvfというオプションの組み合わせです。


tar -czvf の意味をひとつずつ分解しよう

tar -czvf はそれぞれのオプションが役割を持っています。以下に簡潔にまとめます。

オプション意味
-cアーカイブの作成(create)
-zgzipで圧縮する(gzip)
-v処理内容を表示(verbose)
-fファイル名を指定(file)

つまり、tar -czvf archive.tar.gz folder/ とした場合は、
folder/ ディレクトリを archive.tar.gz という名前で gzip 圧縮されたアーカイブとして作成し、その過程を画面に表示する」
という意味になります。


実際に使ってみよう:基本のコマンド例

では実際に使ってみましょう。以下のようなディレクトリ構造があると仮定します。

markdownコピーする編集するproject/
├── file1.txt
├── file2.txt
└── subdir/
    └── file3.txt

この project フォルダをまとめて圧縮する場合、以下のようにコマンドを入力します。

tar -czvf project.tar.gz project/

すると、project.tar.gz という圧縮ファイルが作成され、元のディレクトリ構造を保持したまま、すべてのファイルがまとめられます。

また、コマンドの実行中には -v オプションの効果で、以下のように処理されたファイル名が表示されます。

project/
project/file1.txt
project/file2.txt
project/subdir/
project/subdir/file3.txt

オプションを変えてみよう:静かに圧縮したい場合

もし -v を省略すると、圧縮の進行状況を表示せずに処理されます。以下のようにすれば静かに圧縮できます。

tar -czf project.tar.gz project/

また、圧縮せずにただまとめたい場合は -z を外します。

tar -cvf project.tar project/

このように、必要に応じてオプションを組み合わせて柔軟に使えます。


圧縮したファイルを解凍する方法

作成した project.tar.gz を解凍するには、以下のコマンドを使います。

tar -xzvf project.tar.gz

オプションの意味は次の通りです。

  • -x:展開(extract)
  • -z:gzip圧縮されたファイルの展開
  • -v:詳細表示
  • -f:ファイル名の指定

解凍したいだけなら、詳細表示の -v を省略してもOKです。

tar -xzf project.tar.gz

解凍後は、元の project フォルダが同じ構造で復元されます。


よくあるエラーと対処法

gzip: command not found

-z オプションを使った際にこのエラーが出る場合は、gzipがインストールされていない可能性があります。以下のコマンドでインストールできます(Debian/Ubuntuの場合):

sudo apt install gzip

RedHat系のディストリビューションならこちら:

sudo yum install gzip

「tar: Removing leading / from member names」

これはエラーではなく警告です。アーカイブ作成時に、絶対パスの先頭の「/」を取り除いていることを知らせています。セキュリティ上の配慮なので、基本的に気にしなくて大丈夫です。


tar.gzとzipの違いは?

初心者の方がよく混乱するのが「.zip ファイルとの違い」です。

比較項目tar.gzzip
圧縮方式gzipzip
コマンドtar + gzipzip, unzip
ディレクトリ対応得意やや不得意(zipでも可能だがオプションが必要)
ファイル名.tar.gzまたは.tgz.zip

Linuxやサーバー環境では .tar.gz のほうがよく使われます。Windows環境では .zip のほうがなじみ深いですね。


まとめ:tar -czvf をマスターしてLinux操作を快適に!

tar -czvf コマンドは、Linuxでのファイル操作において非常に便利で、しかも頻繁に使われる基本中の基本です。今回ご紹介した内容をおさらいすると、

  • tar はアーカイブ作成、gzip は圧縮を担当
  • tar -czvf でまとめてgzip圧縮が可能
  • -v を使えば処理状況が見えて安心
  • 解凍は -xzvf でOK
  • .tar.gz はLinuxでは定番のアーカイブ形式

これらを理解して使いこなせるようになれば、バックアップやデータ整理、共有がグッと楽になります。ぜひ、色々なファイルで試してみてください!

upandup

Web制作の記事を中心に、暮らし、ビジネスに役立つ情報を発信します。 アフィリエイトにも参加しています。よろしくお願いいたします。