【使用场景】
当我们需要将大文件/文件夹拷贝给其他人时(例如:安卓系统源码),首先我们需要将文件进行压缩,这样拷贝速度才会快,那么问题来了,如果压缩成单个文件,可能就无法用U盘作为介质进行拷贝,因为 U盘对于单个文件的大小有限制,所以这时候我们就会想,我们是不是可以先将单个大文件分成多个小文件,别人拿到所有的小文件后再合并成大文件不就可以了吗?幸运的是,linux给我们提供了一些命令,使得这个想法成为可能。
【压缩】
假如我们有一个文件夹 test,文件夹里面又有10个文件夹,如下图:
执行如下命令压缩:
tar -czf test.tar.gz test/
压缩结果:
【分包】
将test.tar.gz文件分割成多个2M的文件,生成的文件前缀为split.tar.gz, 可以用下面的命令
split -b 2m test.tar.gz split.tar.gz
完成后会产生下列文件:
压缩&分包也可以用一个命令
tar -czf - test/ | split -b 2m - test.tar.gz
【合并】
拿到多个前缀为split.tar.gz的文件后,执行如下命令进行文件合并:
cat split.tar.gza* > split.tar.gz
生成
【解压】
tar -xzf split.tar.gz
生成
到此,liunx下文件的切分与合并就介绍完了,有看不懂的地方欢迎大家留言!!!