ウェブサイト検索

大きなTARファイルを複数の小さなファイルに分割する方法


ネットワーク上で大きなファイルを転送したりアップロードしたりすることを心配していますか?もう心配いりません。ファイルを指定したサイズのブロックに分割することで、遅いネットワーク速度に対処しながらビット単位でファイルを移動できます。

このハウツーガイドでは、アーカイブファイルの作成と、それらを選択したサイズのブロックに分割する方法について簡単に説明します。私たちは、Linuxで最も一般的なアーカイブユーティリティの1つであるtarを使用し、アーカイブファイルを小さな部分に分割するのを助けるためにsplitユーティリティも活用します。

Linuxでtarアーカイブを複数のパーツに分割する

さらに進む前に、これらのユーティリティがどのように使用できるかに注意を払いましょう。tar と split コマンドの一般的な構文は次の通りです:

tar options archive-name files 
split options file "prefix”

この記事の主な概念を示すために、いくつかの例を掘り下げてみましょう。

例 1: tarファイルを10MBの部分に分割する

まず最初に、次のようにアーカイブファイルを作成できます。

tar -cvjf home.tar.bz2 /home/aaronkilik/Documents/* 

アーカイブファイルが作成されたことを確認し、そのサイズもチェックするために、lsコマンドを使用できます。

ls -lh home.tar.bz2

次に、splitユーティリティを使用して、home.tar.bz2アーカイブファイルをそれぞれ10MBのサイズの小さなブロックに分割できます。以下のように:

split -b 10M home.tar.bz2 "home.tar.bz2.part"
ls -lh home.tar.bz2.parta*

上記のコマンドの出力からわかるように、tar アーカイブファイルは4つの部分に分割されました。

注意: 上記のsplitコマンドでは、オプション-bが各ブロックのサイズを指定するために使用され、"home.tar.bz2.part"は分割後に作成される各ブロックファイルの名前のプレフィックスです。

例2: ISOイメージファイルを部分に分割する

上記のケースと同様に、ここではLinux Mint ISOイメージファイルのアーカイブファイルを作成できます。

tar -cvzf linux-mint-18.tar.gz linuxmint-18-cinnamon-64bit.iso 

次に、上記の例1と同じ手順に従って、アーカイブファイルをサイズ200MBの小さな部分に分割します。

ls -lh linux-mint-18.tar.gz 
split -b 200M linux-mint-18.tar.gz "ISO-archive.part"
ls -lh ISO-archive.parta*

例3: 大きなファイルを小さな部分に分割する

この場合、tar コマンドの出力を以下のように パイプ を使用して split に接続できます:

tar -cvzf - wget/* | split -b 150M - "downloads-part"

ファイルを確認してください:

ls -lh downloads-parta*

この最後の例では、アーカイブ名を指定する必要はありません。ご覧の通り、単に-記号を使用してください。

分割したtarファイルを結合する方法

Linuxでtarファイルや大きなファイルを正常に分割した後、catコマンドを使用してファイルを結合できます。catを使用することは、結合操作を実行する最も効率的で信頼性の高い方法です。

すべてのブロックやtarファイルを再結合するために、以下のコマンドを実行します:

cat home.tar.bz2.parta* >backup.tar.gz.joined

cat コマンドを実行した後に、以前に作成したすべての小さなブロックが同じサイズの元の tar アーカイブファイルに結合されることがわかります。

結論

全体のアイデアはシンプルです。上に説明したように、tarとsplitのさまざまなオプションをどのように使うかを知り理解するだけで済みます。

他のオプションについて学び、いくつかの複雑な操作を行うには、マニュアルのエントリページを参照するか、以下の記事を通じてtarコマンドについてより詳しく学ぶことができます。

質問やさらなるアドバイスについては、下のコメントセクションを通じてあなたの考えを共有できます。

関連記事: