前两天向服务器上传数据速度受限,为了多线程传输,需要分卷压缩tar格式,搜集了一下命令;


1.cd到要压缩文件的上一级目录

比如我要压缩文件

/Users/xx/Downloads/UA-DETRAC/a/VOC2007

需要先cd到

/Users/xx/Downloads/UA-DETRAC/a/

2.直接压缩的命令

tar -zcvf <压缩文件名>.tar.gz <要压缩的文件夹或者文件名>

  -z表明创建zip压缩文件,后面的后缀一定要是tar.gz 
  -c创建打包文件
  -v显示压缩过程
  -f归档名

tar -zcvf xxxx(随便起名).tar.gz VOC2007

3.分卷压缩命令split

split \[--help\]\[--version\]\[-<行数>\]\[-b <字节>\]\[-C <字节>\]\[-l <行数>\]\[要切割的文件\]\[输出文件名\]  

-<行数>或-l<行数> 指定每多少行就要切成一个小文件。
-b<字节> 指定每多少字就要切成一个小文件。支持单位:m,k
-C<字节> 与-b参数类似,但切割时尽量维持每行的完整性。
–help 显示帮助。
–version 显示版本信息。
[输出文件名] 设置切割后文件的前置文件名,split会自动在前置文件名后再加上编号。

简易版:

split -b <分卷大小m或k> <要拆分的文件名> <分卷名前缀>

如拆分一个已经压缩好的文件:

split -b 1048576k VOC2007.tar.gz VOC2007.tar.gz.

如果想直接分卷压缩文件:

tar -zcvf - VOC2007 | split -b 1048576k - VOC2007.tar.gz.

4.解压缩

同理cd到上级目录

cat VOC.tar.gz.* | tar -zxv


RHXCYA
0 声望1 粉丝