USBメモリに大きなファイルをコピーしようとしたら、FAT32の制限で1ファイル4Gまでという制限にひっかかってしまったことなどありませんか?
または、1つの外部メモリに入りきらずに複数の媒体にわけて保存したい場合など、splitコマンドとcatコマンドを使えば、大きなファイルの分割と結合が可能です。
splitコマンドで分割するファイルは以下のWallpaper.pngを使用します。
sakura@ubuntu1204:~/wk$ ls -lh 合計 2.2M -rw-rw-r-- 1 sakura sakura 2.2M 11月 10 01:03 Wallpaper.png
以下の構文で指定したキロバイト単位で分割することができます。
split -b 分割値k 元ファイル 分割したファイル名の先頭文字列
sakura@ubuntu1204:~/wk$ split -b 500k Wallpaper.png SliceWallpaper. sakura@ubuntu1204:~/wk$ ls -l 合計 4400 -rw-rw-r-- 1 sakura sakura 512000 11月 10 01:06 SliceWallpaper.aa -rw-rw-r-- 1 sakura sakura 512000 11月 10 01:06 SliceWallpaper.ab -rw-rw-r-- 1 sakura sakura 512000 11月 10 01:06 SliceWallpaper.ac -rw-rw-r-- 1 sakura sakura 512000 11月 10 01:06 SliceWallpaper.ad -rw-rw-r-- 1 sakura sakura 203867 11月 10 01:06 SliceWallpaper.ae -rw-rw-r-- 1 sakura sakura 2251867 11月 10 01:03 Wallpaper.png
split -b 分割値 元ファイル 分割したファイル名の先頭文字列
split -b 分割値k 元ファイル 分割したファイル名の先頭文字列
split -b 分割値m 元ファイル 分割したファイル名の先頭文字列
以下の構文で分割したファイルを結合して1つにすることがでいます。
cat 分割ファイル > 結合ファイル
上記の実行例で分割したファイルを1つに結合してみます。
sakura@ubuntu1204:~/wk$ ls -ltr 合計 4400 -rw-rw-r-- 1 sakura sakura 2251867 11月 10 01:03 Wallpaper.png -rw-rw-r-- 1 sakura sakura 512000 11月 10 01:06 SliceWallpaper.ab -rw-rw-r-- 1 sakura sakura 512000 11月 10 01:06 SliceWallpaper.aa -rw-rw-r-- 1 sakura sakura 512000 11月 10 01:06 SliceWallpaper.ad -rw-rw-r-- 1 sakura sakura 512000 11月 10 01:06 SliceWallpaper.ac -rw-rw-r-- 1 sakura sakura 203867 11月 10 01:06 SliceWallpaper.ae
sakura@ubuntu1204:~/wk$ cat SliceWallpaper.* > JoinWallpaper.png
sakura@ubuntu1204:~/wk$ diff Wallpaper.png JoinWallpaper.png sakura@ubuntu1204:~/wk$ echo $? 0