重要なポイント
- Linux の tar コマンドは、TAR アーカイブ ファイルの作成と抽出に使用されます。
- ファイルまたはフォルダーを圧縮するには、ターミナルで「tar -czvf (アーカイブ名).tar.gz (ファイルのパス)」を実行します。現在のフォルダーにアーカイブを抽出するには、コマンド「tar -xzvf (アーカイブ ファイル)」を実行します。
- ファイルまたはディレクトリのリストを指定すると、複数のディレクトリまたはファイルを一度に圧縮できます。また、–exclude スイッチを使用して特定のファイルまたはディレクトリを除外できます。
Linux の tar コマンドは、「tarball」とも呼ばれる .tar.gz または .tgz アーカイブ ファイルの作成によく使用されます。このコマンドには多数のオプションがありますが、いくつかの文字を覚えておくだけで、tar を使用してアーカイブをすばやく作成できます。 tar コマンドを使用して、結果のアーカイブを抽出することもできます。
Linux ディストリビューションに含まれる GNU tar コマンドには圧縮が統合されています。 1 つのコマンドで .tar アーカイブを作成し、それを gzip または bzip2 圧縮で圧縮できます。そのため、結果のファイルは .tar.gz ファイルまたは .tar.bz2 ファイルになります。
ディレクトリ全体または単一ファイルを圧縮する
Linux 上でディレクトリ全体または単一のファイルを圧縮するには、次のコマンドを使用します。また、指定したディレクトリ内の 1 つおきのディレクトリも圧縮します。つまり、再帰的に動作します。
tar -czvf アーカイブ名.tar.gz /ディレクトリまたはファイルのパス
これらのスイッチの実際の意味は次のとおりです。
- -c: アーカイブを作成し ます 。
- -z: g z ip を使用してアーカイブを圧縮します。
- -v: アーカイブの作成中にターミナルに進行状況を表示します。「 v erbose」モードとも呼ばれます。これらのコマンドでは v は常にオプションですが、役立つと思います。
- -f: アーカイブのファイル 名 を指定できます。
現在のディレクトリに「stuff」という名前のディレクトリがあり、それを archive.tar.gz という名前のファイルに保存するとします。次のコマンドを実行します。
tar -czvf archive.tar.gz のもの
または、現在のシステムの /usr/local/something にディレクトリがあり、それを archive.tar.gz という名前のファイルに圧縮するとします。次のコマンドを実行します。
tar -czvf archive.tar.gz /usr/local/something
複数のディレクトリまたはファイルを一度に圧縮する
tar は単一のディレクトリを圧縮するためによく使用されますが、複数のディレクトリ、 複数の個別のファイル 、またはその両方を圧縮するために使用することもできます。単一のファイルまたはディレクトリの代わりに、ファイルまたはディレクトリのリストを指定するだけです。たとえば、/home/ubuntu/Downloads ディレクトリ、/usr/local/stuff ディレクトリ、および /home/ubuntu/Documents/notes.txt ファイルを圧縮するとします。次のコマンドを実行するだけです。
tar -czvf archive.tar.gz /home/ubuntu/ダウンロード /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/ダウンロード --exclude=/home/ubuntu/.cache
--exclude
スイッチは非常に強力です。これはディレクトリやファイルの名前を受け取りません。実際にはパターンを受け取ります。他にもできることはたくさんあります。たとえば、次のコマンドを使用して、ディレクトリ全体をアーカイブし、すべての .mp4 ファイルを除外できます。
tar -czvf archive.tar.gz /home/ubuntu --exclude=*.mp4
代わりに bzip2 圧縮を使用してください
gzip 圧縮は .tar.gz または .tgz ファイルの作成に最もよく使用されますが、tar は bzip2 圧縮もサポートしています。これにより、.tar.bz2、.tar.bz、または .tbz ファイルという名前の bzip2 圧縮ファイルを作成できます。これを行うには、ここでのコマンドの gzip の -z を bzip2 の -j に置き換えるだけです。
Gzip は高速ですが、一般に圧縮率が若干低いため、ファイルのサイズが若干大きくなります。 Bzip2 は遅いですが、圧縮率が高いため、ファイルサイズは若干小さくなります。 Gzip もより一般的で、一部の機能を簡素化した Linux システムではデフォルトで gzip サポートが含まれていますが、bzip2 サポートは含まれていません。ただし、一般に、gzip と bzip2 は実質的に同じものであり、どちらも同様に機能します。
たとえば、stuff ディレクトリを圧縮するために提供した最初の例の代わりに、次のコマンドを実行します。
tar -cjvf archive.tar.bz2 のもの
Tar ファイルを抽出する
アーカイブを取得したら、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 コマンドの最も単純な使用法です。このコマンドには多数の追加オプションが含まれているため、ここですべてをリストすることはできません。詳細については。シェルで info tar コマンドを実行して、tar コマンドの詳細 情報ページ を表示します。完了したら、 q キーを押して情報ページを終了します。 tar のマニュアルをオンラインで読むこと もできます。
グラフィカル Linux デスクトップを使用している場合は、デスクトップに含まれるファイル圧縮ユーティリティまたはファイル マネージャーを使用して .tar ファイルを作成または抽出することもできます。 Windows では、無料の 7-Zip ユーティリティを使用して .tar アーカイブを抽出して作成できます。





