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

  • Chris Hoffman

    @chrisbhoffman

  • 2016年4月10日、6:40am EDT

Linuxのtarコマンドは、「tarball」とも呼ばれる.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:アーカイブを作成します。
  • -z:gzipを使用してアーカイブを圧縮します。
  • -v:アーカイブの作成中に端末に進行状況を表示します。これは「詳細」モードとも呼ばれます。これらのコマンドでは、vは常にオプションですが、便利です。
  • -f:アーカイブのファイル名を指定できます。
広告

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

tar -czvf archive.tar.gz stuff

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

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

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

関連:Linuxターミナルからファイルを管理する方法:必要な11のコマンド知っている

tarは単一のディレクトリを圧縮するために頻繁に使用されますが、複数のディレクトリ、複数の個別のファイル、またはその両方を圧縮するためにも使用できます。単一のファイルまたはディレクトリのリストを提供するだけです。たとえば、/ home / ubuntu / Doを圧縮するとします。 wnloadsディレクトリ、/ 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サポートを含むがbzip2サポートを含まない一部の簡素化されたLinuxシステムがあります。ただし、一般的に、gzipとbzip2は実質的に同じものであり、どちらも同じように機能します。

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

tar -cjvf archive.tar.bz2 stuff

アーカイブの抽出

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

tar -xzvf archive.tar.gz

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

アドバタイズメント

アーカイブの内容を特定のディレクトリに抽出することができます。これを行うには、コマンドの最後に-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アーカイブを抽出および作成できます。

Chris Hoffman
Chris Hoffmanは、ハウツーオタクの編集長です。彼はテクノロジーについて10年近く執筆し、PCWorldのコラムニストを2年間務めました。クリスはニューヨークタイムズに寄稿し、マイアミのNBC 6などのテレビ局でテクノロジーの専門家としてインタビューを受け、彼の作品をBBCのような報道機関。 2011年以来、クリスは5億回以上読まれた2,000以上の記事を書いています—そしてそれはまさにここハウツーオタクです。フルバイオを読む “

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です