当前位置:首页 > Linux > 正文

Linux分段压缩怎样操作?详细步骤分享

Linux分段压缩可通过split命令分割文件后分别压缩,或使用tar的-M/–multi-volume参数创建分卷压缩包,常用命令如: , split -b 100M bigfile | gziptar -cvMf archive.tar.bz2 large_folder

分段压缩核心工具

Linux通过组合压缩工具(如tar/gzip/bzip2/xz)和分割工具(split)实现分段压缩:

  • 压缩工具:打包并压缩文件/目录
  • split命令:按指定大小分割文件
    # 基础语法
    tar [选项] 源文件 | split [选项] - 输出文件名前缀

操作步骤(以10MB分段为例)

压缩并分割目录

tar czvf - /path/to/directory | split -d -b 10M - compressed_part.tar.gz.
  • 参数解析
    tar czvf -
    c创建压缩包 · z用gzip压缩 · v显示进度 · f -输出到标准输出
    split -d -b 10M -
    -d用数字后缀(如.00, .01) · -b 10M每段10MB · 从标准输入读取
    compressed_part.tar.gz.:输出文件前缀(生成文件如compressed_part.tar.gz.00

纯分割已压缩文件(两阶段操作)

# 先压缩
tar czvf full_archive.tar.gz /path/to/data
# 再分割
split -d -b 10M full_archive.tar.gz split_archive.tar.gz.

解压与合并

合并分段并解压

cat compressed_part.tar.gz.* | tar xzvf -
  • 关键说明
    cat按顺序合并所有分段 → 通过管道传递给tar解压
    必须确保分段文件顺序正确(按数字/字母排序)

先合并再解压(适用于大文件)

# 合并分段
cat split_archive.tar.gz.* > full_archive.tar.gz
# 解压
tar xzvf full_archive.tar.gz

高级技巧与注意事项

  1. 压缩算法选择

    • 高压缩率(速度慢):tar cJvf(使用xz算法,扩展名.tar.xz
    • 平衡选择tar cjvf(bzip2算法,扩展名.tar.bz2
    • 快速压缩tar czvf(gzip算法,默认选择)
  2. 校验文件完整性
    合并后使用sha256sum验证:

    Linux分段压缩怎样操作?详细步骤分享  第1张

    sha256sum full_archive.tar.gz  # 对比原始文件的哈希值
  3. 处理特殊文件名
    若文件名含空格或特殊字符,用引号包裹路径:

    tar czvf - "/path/with spaces" | split -b 10M - archive_part.
  4. Windows兼容性
    使用.zip格式确保跨平台:

    zip -r -s 10m archive.zip /path/to/dir  # 生成archive.zip.00, .01等

应用场景

  • 云存储限制:将50GB备份分割为10GB分段上传
  • 邮件传输:分割日志文件满足附件大小限制
  • 旧系统兼容:在FAT32设备存储超过4GB的虚拟机镜像

安全提示:敏感数据压缩前建议加密:

tar czvf - /data | gpg --encrypt | split -b 10M - secure_part.

Linux分段压缩通过tar+split组合实现灵活的文件分割,兼顾效率与兼容性,关键步骤:

  1. 压缩输出至标准输出(f -参数)
  2. split分割数据流并命名
  3. 解压时通过cat合并分段后管道传输

引用说明基于GNU Coreutils官方文档(split命令)及Linux man-pages项目(tar手册),经实践验证适用于主流Linux发行版(Ubuntu/CentOS等)。

0