動画やログ、バックアップデータなど、サイズが大きすぎるファイルを扱うときに「そのままではメールで送れない」「クラウドにアップできない」と困った経験はありませんか?
こうした場合は、ファイルを小さく分割して送信・保存し、必要に応じて結合して元に戻すのが便利です。
LinuxやmacOSのターミナルでは、split と cat というコマンドを使うことで、大きなファイルを効率的に分割・結合できます。
ファイルを分割する方法(split)
split コマンドを使えば、指定したサイズごとにファイルを分割できます。
split -b 100M bigfile.zip part_
-b 100M: 100MBごとに分割bigfile.zip: 分割対象のファイルpart_: 分割後のファイル名のプレフィックス(例: part_aa, part_ab …)
この例では、bigfile.zip が 100MB ごとの小さなファイルに分割され、part_aa、part_ab という形で保存されます。
行数で分割する場合
テキストファイルを行単位で分割することも可能です。
split -l 1000 logfile.txt log_
この場合、logfile.txt が 1000行ごとに log_aa、log_ab といったファイルに分割されます。
分割したファイルを結合する方法(cat)
分割したファイルを元に戻すときは cat コマンドを使います。
cat part_* > bigfile_restored.zip
part_*: 分割したファイルを順番に結合>: 出力を新しいファイルに保存bigfile_restored.zip: 復元後のファイル名
これで分割前と同じファイルが再構築されます。
実用シーン
- 大容量の動画を送るとき:メール添付の制限を回避
- クラウド保存:アップロード容量制限に合わせて分割
- バックアップ整理:サイズを指定して複数メディアに保存
- ログ管理:巨大なログを分割して扱いやすくする
注意点
- 分割後にファイルをやり取りする場合、すべて揃わないと結合できません。
- 順番を間違えると正しく復元できないため、
part_aa→part_ab→part_ac… の順序を保ちましょう。 - 圧縮ファイルを分割する場合は、結合してから解凍する必要があります(zip・tar.gzの解凍方法はtgzを解凍する方法|tar.gzとの違いとWindows・macOS・Linuxでの開き方を参照)。
よくある質問(FAQ)
分割ファイルの名前を連番(数字)にするには?
デフォルトではpart_aaのようにアルファベット2文字の連番になりますが、-dオプションを付けると数字の連番(part_00、part_01…)にできます。
split -b 100M -d bigfile.zip part_
結合後のファイルが壊れていないか確認するには?
分割前・結合後それぞれのファイルのハッシュ値を比較すると、正しく復元できたか確認できます。ハッシュ値の計算・比較方法はmd5sum – MD5 ハッシュ値を計算・検証するコマンドで解説しています。
md5sum bigfile.zip
md5sum bigfile_restored.zip
2つの値が一致していれば、分割・結合の過程でデータが壊れていないことが確認できます。
分割したファイル数(何個に分かれるか)を先に知りたい場合は?
split自体に分割数を事前に表示する機能はありませんが、-bで指定したサイズと元ファイルのサイズから概算できます。正確な分割後の個数を確認したい場合は、実行後にls part_* | wc -lで生成されたファイル数を数えられます。
まとめ
大きなファイルを効率的に管理するには、split で分割し、必要なときに cat で結合する方法が便利です。
- サイズや行数で自由に分割できる
- 容量制限のある環境でも柔軟に対応可能
- 元に戻すのも簡単で安全
大容量ファイルで困っている方は、この方法を取り入れてみてください。

コメント