Linux中tar通过管道配合split可实现分卷归档压缩,如tar -czvf - /var/log | split -b 200M -d - logs.tar.gz,解压用cat logs.tar.gz* | tar -xzvf -。

Linux 中 tar 本身不直接支持分卷,但可通过管道配合 split 命令实现分卷归档压缩。核心思路是:让 tar 将打包压缩结果输出到标准输出(stdout),再由 split 从标准输入(stdin)读取并按大小切片。
分卷压缩命令写法
基本格式为:
tar -czvf - | split -b -d -
例如,将 /var/log 目录压缩并每卷 200MB 分割,前缀为 logs.tar.gz:
tar -czvf - /var/log | split -b 200M -d - logs.tar.gz
执行后生成:logs.tar.gz00、logs.tar.gz01、logs.tar.gz02……
关键点说明:
Linux 安全审计工具,检查 SSH 配置、开放/监听端口、防火墙规则(ufw/iptables/nftables)、失败登录尝试、sudoers 权限...
-
-在 tar 末尾表示输出到 stdout;在 split 末尾表示从 stdin 读取 -
-b 200M指定每块大小(单位支持 k、M、G) -
-d让 split 使用数字后缀(00/01),而非默认字母(aa/ab) - 压缩算法可替换:
-z(gzip)、-j(bzip2)、-J(xz)
分卷解压还原方法
分卷解压本质是先拼接再解压,两步可合并为一条命令:
cat * | tar -xzvf -
继续上面例子:
cat logs.tar.gz* | tar -xzvf -
说明:
-
cat logs.tar.gz*按字典序读取所有分卷,顺序拼成完整数据流 -
tar -xzvf -从 stdin 读取并解压,自动识别 gzip 格式 - 确保当前目录下只有该系列分卷文件,避免通配符误匹配
注意事项与常见问题
实际使用中需留意以下细节:
- 分卷文件名必须严格连续,不可缺失或重命名,否则 cat 拼接会出错
- 若目标磁盘空间不足,split 可能报错;建议提前用
df -h检查 - 传输分卷时建议校验完整性,可用
sha256sum logs.tar.gz*生成哈希值 - 如需保留权限和符号链接,可在 tar 中加
-p和-h参数

















