使用sz命令下载文件时,超过4G下载不了,如何下载呢?
本文介绍的方法是先对该文件进行拆分,拆分成多个小于4G的文件,然后分别下载,下载到本地后再进行合并或直接解压,具体操作如下:
1.分拆为多个文件的命令:
cat workspace_20150624230059.tar.gz | split -b 2G - workspace_20150624230059.tar.gz.
命令解释:
workspace_20150624230059.tar.gz 是待下载的21G文件
拆分成2G的小文件
workspace_20150624230059.tar.gz. 是拆分后文件的前缀,默认分拆后文件名称为workspace_20150624230059.tar.gz.ab,ab,ac....类推
2.下载多个小文件
sz workspace_20150624230059.tar.gz.a*
3.合并下载的文件或直接解压
合并命令:
cat workspace_20150624230059.tar.gz.a* > workspace_20150624230059.all.tar.gz
合并后,再解压即可
直接解压多个文件命令:
cat workspace_20150624230059.tar.gz.a*|tar xzv
tar分卷压缩与解压缩
举例说明:
要将目录logs打包压缩并分割成多个1M的文件,可以用下面的命令:
tar cjf - logs/ |split -b 1m - logs.tar.bz2.
完成后会产生下列文件:
logs.tar.bz2.aa, logs.tar.bz2.ab, logs.tar.bz2.ac
要解压的时候只要执行下面的命令就可以了:
cat logs.tar.bz2.a* | tar xj
再举例:
要将文件test.pdf分包压缩成500 bytes的文件:
tar czf - test.pdf | split -b 500 - test.tar.gz
最后要提醒但是那两个"-"不要漏了,那是tar的ouput和split的input的参数。
tar cjf - logs/ |split -b 1m - logs.tar.bz2.
完成后会产生下列文件:
logs.tar.bz2.aa, logs.tar.bz2.ab, logs.tar.bz2.ac
要解压的时候只要执行下面的命令就可以了:
cat logs.tar.bz2.a* | tar xj