[PC] サイズが大きい.tgz/.tar.gzファイルをlinuxで分割&結合する


大きい.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
という容量1GBの容量が3つできる。ちなみに、単位サイズは1K、1M、1G、…のように指定すると1024 の累乗となり、KB、MB、GB、…のようにBつきで指定すると1000の累乗になる。

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 件のコメント :

コメントを投稿