some reference
- 压缩级别对压缩速度影响不大
- 传输中的加密越简单,传输越快
tar
基本参数
paramater | meaning |
---|---|
-c | 打包文件 creat (archive) |
-x | 解开文件 extract |
-f | fileName, 是一个必要参数, 后面必须紧跟文件名字 |
-j -z | 使用bzip2压缩 使用gzip压缩 |
-v | verbose |
多线程压缩
这里记录并修改下 一步法
# 压缩
tar --use-compress-program=pigz -cvf packages.tgz packages
# 解压缩
tar --use-compress-program=pigz -xvf packages.tgz
pigz默认就是用所有的核心,可以用-p参数指定,不过此时就得用两步法了。一步法无法传参给pigz
其实–use-compress-program参数的短命令就是-I 参数(大写的 i )
misc
-
tar默认只是打包,打包和压缩的区别
tar 命令默认只是把多个文件打包放到一起,不会对文件进行压缩,所以打包后的文件大小并不会变小,由于添加了一些 tar 格式的文件信息,甚至可能会变大。
-
bzip2和gzip压缩区别?默认是z参数可以省略?
gzip的速度快一些,而bzip2要压得狠一些,分别对应后缀名为.tar.gz和.tar.bz2的文件。现在tar解压的时候会自动识别是什么类型的文件,所以解压的时候不指定也没关系。(压缩的时候不指定的话,实际上只是做了打包的工作…) -
为什么要先tar,再gzip?
因为tar只是打包成一个archive,没有做压缩的工作。
而gzip/bzip2只能对单个文件夹/文件进行压缩,不能针对多个文件。
那么为何不直接把需要的文件拖到一个文件夹里面,然后进行压缩呢?何必还需要打包的过程?请参考tar相比于直接移到一个文件夹里面的好处
主机之间文件传输和同步
- scp 加密传输,不支持断点续传。对主机的IO负载比较低。
- rsync 差异化传输,支持断点续传。传输多个小文件对主机的IO负载很高。
- pssh 支持多线程scp和多线程rsync
感觉很不错,找机会一定要看下