目标-(标准)
如何将文件打包、压缩并分割成制定大小?
日期: August 28 日, Saturday@ 01:37:03
主题 Shell 编程和工具
(如何在linux下实现Windows中winrar和winzip等压缩软件所提供的打包压缩分割功能)
将大文件或目录打包、压缩并分割成制定大小的文件,这在将数据备份到容量有限的移动储存设备时是必须的,在Linux下可以通过组合使用 tar,bzip2(或者gzip),split命令来实现。
案例-(故事)
假设要将下面这个文件压缩并分割成多个1.4M的文件
-r-xr-xr-x 1 root root 4.4M 2004-08-27 01:50 a.chm
可以用下面的命令:
tar -jcf - a.chm | split -b 1400k - a.chm.tar.bz2.
完成后会生产下面的文件:
-rw-r--r-- 1 root root 1433600 2004-08-27 01:55 a.chm.tar.bz2.aa
-rw-r--r-- 1 root root 1433600 2004-08-27 01:56 a.chm.tar.bz2.ab
-rw-r--r-- 1 root root 1433600 2004-08-27 01:56 a.chm.tar.bz2.ac
-rw-r--r-- 1 root root 225280 2004-08-27 01:56 a.chm.tar.bz2.ad
还原文件用下面的命令:
cat a.chm.tar.bz2.a* | tar -jx
实现-怎么做(细节)
为了让广大菜鸟了解上面的命令,现解释如下:
压缩命令"tar -jcf -" 中