大きい.tgz/.tar.gzファイルをlinuxで分割する
linuxで.tgzファイルや.tar.gzファイルをUSBメモリなどにコピーしたいとき、ファイルが大きすぎてコピーできないことがちょくちょくある。そんな時は以下のsplitコマンドを利用することで、ファイルを分割することが可能。拡張子が.tgzだろうが.tar.gzだろうが関係なく分割できる。
split -b 1GB -a 2 myfile.tgz myfile_
この例ではmyfile.tgzというファイルをmyfile_**という名前の1GByteごとのファイルに分割している。ここで、-bの後の数字は分割する単位サイズを指定しており、-aの後の数字は接尾辞の長さを指定している。この例でmyfile.tgzが3GBのファイルだとすると
- myfile_aa
- myfile_ab
- myfile_ac
Gより大きい単位も指定できるが、あまりその単位で分割する人はいないと思うので個人的にはGかGBを使うことが多い。その他、コマンドの詳細については以下のページなどを参照。
https://linuxjm.osdn.jp/html/GNU_coreutils/man1/split.1.html
なお、Windows環境でもCygwinなどのソフトウェアをインストールすれば同様の操作は可能。
分割したファイルを.tgz/.tar.gzファイルに結合する
分割したファイルを結合するときは、分割したファイルがあるディレクトリで、以下のようにcatコマンドを使えば結合できる。cat myfile_* > myfile.tgz
この例ではワイルドカード*を使ってmyfile_と先頭に着くファイルをmyfile.tgzというファイル名のファイルに結合している。
なお、結合後のファイル名や拡張子は別に元のファイルと同じで無くても良いので
cat myfile_* > catfile
とかでも良い。
0 件のコメント :
コメントを投稿