Linux · 1 min read · Dec 16, 2025
LinuxでSplitコマンドを使用して大きなアーカイブファイルを複数の小さなファイルに分割する方法
アーカイブを作成する主な理由の1つは、取り扱いや転送の容易さですが、時には圧縮ファイル自体が非常に大きいため、特にネットワーク速度が遅い場合、ネットワーク上での転送が悪夢のようになります。
では、このような場合には何をすべきでしょうか?この問題に対する解決策はあるのでしょうか?ええ、あります - 一つの解決策は、圧縮ファイルを小さな部分に分割し、それをネットワーク上で簡単に転送できるようにすることです。宛先で、それらを再結合して元のアーカイブを取得できます。
この解決策が興味深いと感じ、Linuxでこれをどのように行うかを正確に理解したい場合は、このチュートリアルで重要な詳細をステップバイステップで説明することをお知らせします。
進む前に、この記事で言及されているすべての指示とコマンドは、Ubuntu 14.04でテストされていることに注意してください。
大きなアーカイブを分割する方法
ファイルを部分に分割するのを助けるコマンドラインユーティリティ - Split と呼ばれるものがあります。ほとんどのLinuxディストリビューションに標準でインストールされているため、ダウンロードやインストールのための追加の手順を実行する必要はありません。このコマンドの構文は次のとおりです:
split [OPTION]... [INPUT [PREFIX]]ここで、INPUTは小さな部分に分割する必要があるファイルの名前を表し、PREFIXは出力ファイルの名前に付加したいテキストです。OPTIONは、私たちの場合、出力ファイルのサイズを指定できるようにするための-bになります。
Splitの使用法を例を通じて理解するには、まず分割したい圧縮ファイルを持っている必要があります。例えば、私の場合、以下の60MBの.zipファイルがありました:
Splitコマンドの実行:
ご覧の通り、-bオプションを使用して、Splitコマンドに大きな.zipファイルを20MBずつの等しい部分に分割するように指示し、圧縮ファイルの完全な名前とプレフィックステキストを提供しました。
Splitコマンドが実際に要求されたことを行ったことを確認した方法は次のとおりです:
上記のスクリーンショットの出力から明らかなように、私が提供したプレフィックスを含む名前の3つのファイルが生成され、それぞれ20MBの重さでした。
もちろん、.zipファイル以外にも、前述の方法を使用して他の種類の圧縮ファイルを分割することができます。例えば、以下のように、以前に議論した同じコマンドを使用して.tar.xzファイルを分割しました:
今までのところ、MB単位でサイズを指定してファイルを複数のチャンクに分割したい場合は、コマンドラインで提供する数値の後にMBを使用する必要があります。そして、-前述のケースのように、ファイルをKB単位でサイズ指定する場合は、Kを使用する必要があります。
これまで、Splitコマンドが提供する-bオプションのみを使用してきました。これは、私たちが望むことを行うからです - コマンドにこのオプションの後に続くサイズに基づいて入力ファイルを分割するように指示します。ただし、ケースや要件に応じて、Splitコマンドが提供する他のオプションのいくつかを使用したい場合もあります。
以下は、オプションのリストとそれらが何をするかの簡単な説明です:
- -a, –suffix-length=N: 長さNのサフィックスを生成します(デフォルトは2)
- –additional-suffix=SUFFIX: ファイル名に追加のSUFFIXを追加します。
- -b, –bytes=SIZE: 出力ファイルごとにSIZEバイトを配置します
- -C, –line-bytes=SIZE: 出力ファイルごとに最大SIZEバイトの行を配置します
- -d, –numeric-suffixes[=FROM]: アルファベットの代わりに数値のサフィックスを使用します。FROMは開始値を変更します(デフォルトは0)。
- -e, –elide-empty-files: ‘-n’で空の出力ファイルを生成しません
- –filter=COMMAND: シェルCOMMANDに書き込みます; ファイル名は$FILEです
- -l, –lines=NUMBER: 出力ファイルごとにNUMBER行を配置します
- -n, –number=CHUNKS: CHUNKS出力ファイルを生成します。
- -u, –unbuffered: ‘-n r/…’で入力を出力に即座にコピーします
ここまでで、大きなアーカイブを複数の小さな部分に分割する方法についてのみ議論してきました。もちろん、元の圧縮ファイルを取得するためにそれらを再結合する方法を知っていなければ、何の役にも立ちません。では、以下のようにそれを行うことができます:
小さなチャンクを再結合するための特別なコマンドラインユーティリティはありませんが、古き良きCatコマンドがこのタスクを処理できます。例えば、以下のようにCatコマンドを通じてKaku-linux32.zipファイルを取得しました:
取得したアーカイブを抽出し、元のものと比較して何も変更されていないことを確認できます。
結論
Linuxユーザーであり、日常の作業が大きな圧縮ファイルを扱い、他の人とネットワーク経由で共有することを含む場合、場合によってはアーカイブを分割したいと思う可能性が高いです。もちろん、このチュートリアルで述べた解決策が唯一のものではないかもしれませんが、確かに最も簡単で手間のかからない方法の1つです。
大きなアーカイブを分割して再結合するために異なるアプローチを使用し、他の人とその解決策を共有したい場合は、以下のコメントでそれを行うことができます。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。