split 命令在 Linux 中用于将单个大文件分割成多个小文件。这对于处理大型文件或备份大文件到多个较小的媒体上时非常有用。

以下是 split 命令的一些常用用法:

  1. 基本用法
split largefile

这将把 largefile 分割成多个默认大小(1000 行)的小文件,文件名以 xaaxabxac 等格式命名。

  1. 指定每块的大小
split -b 1M largefile

使用 -b 选项后跟大小(如 1M 表示 1 兆字节),可以指定每块的大小。

  1. 指定每块的行数
split -l 500 largefile

使用 -l 选项后跟行数,可以指定每块包含的行数。

  1. 使用自定义的前缀
split -b 1M -a 3 largefile

使用 -a 选项后跟数字,可以指定生成的文件名前缀的长度。

  1. 添加额外的后缀
split -b 1M --additional-suffix=.txt largefile

使用 --additional-suffix 选项可以为生成的文件名添加额外的后缀。

  1. 分割二进制文件
split -b 1M --bytes=1M largebinaryfile

对于二进制文件,使用 --bytes 选项确保按字节分割。

  1. 使用自定义的文件名模式
split -n l/10 -d --elide-empty largefile prefix-

使用 -n 选项后跟 l/10 表示每 10 个块为一级,-d 表示使用数字而不是字母,--elide-empty 表示忽略空文件,prefix- 表示自定义的文件名前缀。

  1. 分割文件并保留原始文件的权限
split -b 1M --preserve=mode,ownership largefile

使用 --preserve 选项可以保留原始文件的权限和所有权。

  1. 分割文件并指定块的开始位置
split -b 1M --filter='head -c 1024; cat' largefile

使用 --filter 选项可以指定一个命令来处理每个块的开始部分。

  1. 分割文件并使用苏打命令
split -b 1M --squeeze-song largefile

使用 --squeeze-song 选项可以与 sox 命令一起使用,分割音频文件。

split 命令提供了灵活的选项来控制分割的方式和输出的文件名模式,非常适合自动化脚本和批处理任务。