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

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

Linux分段压缩可通过split命令分割文件后分别压缩,或使用tar的-M/–multi-volume参数创建分卷压缩包,常用命令如: , split -b 100M bigfile | gzip 或 tar -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验证:

    sha256sum full_archive.tar.gz # 对比原始文件的哈希值
  3. 处理特殊文件名

    若文件名含空格或特殊字符,用引号包裹路径:

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

    tar czvf - "/path/with spaces" | split -b 10M - archive_part.

  4. Windows兼容性

    使用.zip格式确保跨平台:

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

    zip -r -s 10m archive.zip /path/to/dir # 生成archive.zip.00, .01等
  5. 应用场景

    • 云存储限制:将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等)。

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

0