linux 压缩文件 tar & 多主机之间文件传输和同步scp

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

    感觉很不错,找机会一定要看下

Guess you like

Origin blog.csdn.net/Hesy_H/article/details/114881145