Linuxでtarコマンドを使用してファイルを圧縮および抽出する方法

Linuxのtarコマンドは、「tarballs」とも呼ばれる.tar.gzまたは.tgzアーカイブファイルを作成するためによく使用されます。このコマンドには多数のオプションがありますが、tarを使用してアーカイブをすばやく作成するには、数文字を覚えておく必要があります。tarコマンドは、結果のアーカイブも抽出できます。

Linuxディストリビューションに含まれているGNUtarコマンドには、圧縮が統合されています。.tarアーカイブを作成し、1つのコマンドでgzipまたはbzip2圧縮を使用して圧縮できます。そのため、結果のファイルは.tar.gzファイルまたは.tar.bz2ファイルになります。

ディレクトリ全体または単一のファイルを圧縮する

Linuxでディレクトリ全体または単一のファイルを圧縮するには、次のコマンドを使用します。また、指定したディレクトリ内の他のすべてのディレクトリを圧縮します。つまり、再帰的に機能します。

tar -czvf name-of-archive.tar.gz / path / to / directory-or-file

これらのスイッチの実際の意味は次のとおりです。

  • -c:Cは、アーカイブをreate。
  • -z:グラムと圧縮アーカイブzのIP。
  • -v:「としても知られているアーカイブを作成する際の端末での表示の進捗状況、V erbose」モード。これらのコマンドでは、vは常にオプションですが、便利です。
  • -f:あなたが指定できるようにしますFアーカイブのilenameを。

現在のディレクトリに「stuff」という名前のディレクトリがあり、それをarchive.tar.gzという名前のファイルに保存するとします。次のコマンドを実行します。

tar -czvfarchive.tar.gzのもの

または、現在のシステムの/ usr / local / somethingにディレクトリがあり、それをarchive.tar.gzという名前のファイルに圧縮するとします。次のコマンドを実行します。

tar -czvf archive.tar.gz / usr / local / something

複数のディレクトリまたはファイルを一度に圧縮する

関連:Linuxターミナルからファイルを管理する方法:知っておくべき11のコマンド

tarは、単一のディレクトリを圧縮するために頻繁に使用されますが、複数のディレクトリ、複数の個別のファイル、またはその両方を圧縮するためにも使用できます。単一のものではなく、ファイルまたはディレクトリのリストを提供するだけです。たとえば、/ home / ubuntu / Downloadsディレクトリ、/ usr / local / stuffディレクトリ、および/home/ubuntu/Documents/notes.txtファイルを圧縮するとします。次のコマンドを実行するだけです。

tar -czvf archive.tar.gz / home / ubuntu / Downloads / usr / local / stuff /home/ubuntu/Documents/notes.txt

バックアップしたいディレクトリまたはファイルをいくつでもリストしてください。

ディレクトリとファイルを除外する

場合によっては、ディレクトリ全体を圧縮したいが、特定のファイルやディレクトリを含めたくない場合があります。これを行うには、--exclude除外するディレクトリまたはファイルごとにスイッチを追加します。

たとえば、/ home / ubuntuを圧縮したいが、/ home / ubuntu / Downloadsおよび/home/ubuntu/.cacheディレクトリを圧縮したくないとします。これがあなたがそれをする方法です:

tar -czvf archive.tar.gz / home / ubuntu --exclude = / home / ubuntu / Downloads --exclude = / home / ubuntu / .cache

--excludeスイッチは非常に強力です。ディレクトリやファイルの名前は取りません。実際にはパターンを受け入れます。あなたがそれでできることはもっとたくさんあります。たとえば、次のコマンドを使用して、ディレクトリ全体をアーカイブし、すべての.mp4ファイルを除外できます。

tar -czvf archive.tar.gz / home / ubuntu --exclude = *。mp4

代わりにbzip2圧縮を使用してください

gzip圧縮は.tar.gzまたは.tgzファイルの作成に最も頻繁に使用されますが、tarはbzip2圧縮もサポートしています。これにより、bzip2で圧縮されたファイル(多くの場合、.tar.bz2、.tar.bz、または.tbzファイル)を作成できます。これを行うには、ここのコマンドのgzipの-zをbzip2の-jに置き換えるだけです。

Gzipの方が高速ですが、通常は圧縮率が少し低いため、ファイルがやや大きくなります。Bzip2は低速ですが、圧縮率が少し高くなるため、ファイルがやや小さくなります。Gzipもより一般的であり、デフォルトでgzipサポートを含む一部の簡素化されたLinuxシステムがありますが、bzip2サポートは含まれていません。ただし、一般的に、gzipとbzip2は実質的に同じものであり、どちらも同じように機能します。

たとえば、stuffディレクトリを圧縮するために提供した最初の例の代わりに、次のコマンドを実行します。

tar -cjvfarchive.tar.bz2のもの

アーカイブを抽出する

アーカイブを取得したら、tarコマンドを使用してアーカイブを抽出できます。次のコマンドは、archive.tar.gzの内容を現在のディレクトリに抽出します。

tar -xzvf archive.tar.gz

これ-xは、-cスイッチがスイッチに置き換わる点を除いて、上記で使用したアーカイブ作成コマンドと同じです。この指定は、あなたがeにしたいのx道アーカイブの代わりを作成します。

アーカイブの内容を特定のディレクトリに抽出したい場合があります。これを行うに-Cは、コマンドの最後にスイッチを追加します。たとえば、次のコマンドは、archive.tar.gzファイルの内容を/ tmpディレクトリに抽出します。

tar -xzvf archive.tar.gz -C / tmp

ファイルがbzip2圧縮ファイルの場合は、上記のコマンドの「z」を「j」に置き換えます。

これは、tarコマンドの最も簡単な使用法です。このコマンドには多数の追加オプションが含まれているため、ここにすべてをリストすることはできません。詳細については。シェルでinfotarコマンドを実行して、tarコマンドの詳細情報ページを表示します。完了したら、qキーを押して情報ページを終了します。tarのマニュアルをオンラインで読むこともできます。

グラフィカルLinuxデスクトップを使用している場合は、デスクトップに含まれているファイル圧縮ユーティリティまたはファイルマネージャーを使用して、.tarファイルを作成または抽出することもできます。Windowsでは、無料の7-Zipユーティリティを使用して.tarアーカイブを抽出および作成できます。