分卷压缩split

分卷压缩split

利用管道符号,将压缩的数据传递给 split。或者cat 的数据传递给tar。由于输入输出之间,存在文件名,使用 - 符号来代理空缺的位置。

# 分隔
split -b 80M demo.tar.gz demo.tar.gz.
# 合并
cat demo.tar.gz.* > demo.tgz

参数

SIZE is an integer and optional unit (example: 10M is 10*1024*1024).  Units
are K, M, G, T, P, E, Z, Y 

分卷压缩

要将目录logs打包压缩并分割成多个1M的文件,可以用下面的命令:

tar cjf - logs/ |split -b 1m - logs.tar.bz2.

最后要提醒但是那两个”-“不要漏了,那是tar的ouput和split的input的参数。

完成后会产生下列文件:

logs.tar.bz2.aa, logs.tar.bz2.ab, logs.tar.bz2.ac

如果是500 bytes,split 后参数 -b 500。

合并解压

要解压的时候只要执行下面的命令就可以了:

cat logs.tar.bz2.a* | tar xj

man split 结果如下

With no FILE, or when FILE is -, read standard input.