插件窝 干货文章 Linux 下大文件切割与合并

Linux 下大文件切割与合并

文件 分割 file 使用 76    来源:    2025-04-13

Linux 下大文件切割与合并指南

文件切割方法

1. 使用 split 命令

split 是 Linux 系统自带的文件分割工具,功能强大且简单易用。

基本语法:

split [选项] 输入文件 [输出文件前缀]

常用选项: - -b SIZE:按大小分割(如 -b 100M, -b 1G) - -l NUM:按行数分割 - -a NUM:指定后缀长度(默认为2) - -d:使用数字后缀而非字母 - --verbose:显示分割过程

示例:

# 按100MB大小分割文件
split -b 100M large_file.dat split_file_

# 按行数分割(每10000行一个文件)
split -l 10000 large_log.txt log_part_

# 使用数字后缀并显示过程
split -b 500M -d --verbose huge_file.bin part_

2. 使用 dd 命令

dd 可以更精确地控制分割过程,适合二进制文件。

示例:

# 分割为1GB的文件块
dd if=large_file.iso of=part1 bs=1G count=1
dd if=large_file.iso of=part2 bs=1G count=1 skip=1

文件合并方法

1. 使用 cat 命令

最简单直接的合并方法:

cat split_file_* > original_file

2. 使用 dd 命令

# 合并多个部分
dd if=part1 of=restored_file bs=1M
dd if=part2 of=restored_file bs=1M seek=1024  # 假设part1是1GB

3. 校验合并结果

# 计算原始文件和合并后文件的MD5校验
md5sum original_file
md5sum restored_file

高级技巧

1. 并行处理大文件

# 使用parallel加速分割
parallel --pipepart --block 100M -a large_file.dat 'cat > part_{#}'

2. 压缩分割

# 边分割边压缩
split -b 100M --filter='gzip > $FILE.gz' large_file.dat compressed_part_

3. 加密分割

# 使用openssl加密分割
split -b 100M --filter='openssl enc -aes-256-cbc -pass pass:yourpassword > $FILE.enc' sensitive_file

注意事项

  1. 文件系统限制:某些文件系统(如FAT32)有单个文件大小限制(4GB)
  2. 内存考虑:处理超大文件时注意内存使用
  3. 校验完整性:合并后务必校验文件完整性
  4. 命名规范:分割文件保持有序命名以便合并
  5. 权限保留:使用--preserve选项保留原始文件属性

图形界面工具

如果更喜欢GUI工具,可以考虑: - File Splitter & Joiner - HJSplit - gsplit

但这些工具通常需要额外安装,而命令行工具是Linux系统自带的。