详解使用 split 命令分割 Linux 文件

 更新时间:2019年12月17日 10:03:10   作者:Sandra Henry-stocker  
Linux 系统提供了一个非常易于使用的命令来分割文件,要将文件分割为多个文件块,只需使用 split 命令。这篇文章主要介绍了使用 split 命令分割 Linux 文件,需要的朋友可以参考下

一些简单的 Linux 命令能让你根据需要分割以及重新组合文件,来适应存储或电子邮件附件大小的限制。

Linux 系统提供了一个非常易于使用的命令来分割文件。在将文件上传到限制大小的存储网站或者作为邮件附件之前,你可能需要执行此操作。要将文件分割为多个文件块,只需使用 split 命令。

$ split bigfile

默认情况下,split 命令使用非常简单的命名方案。文件块将被命名为 xaa、xab、xac 等,并且,大概地,如果你将足够大的文件分割,你甚至可能会得到名为 xza 和 xzz 的块。

除非你要求,否则该命令将无任何反馈地运行。但是,如果你想在创建文件块时看到反馈,可以使用 –verbose 选项。

$ split –-verbose bigfile
creating file 'xaa'
creating file 'xab'
creating file 'xac'

你还可以给文件命名前缀。例如,要将你原始文件分割并命名为 bigfile.aa、bigfile.ab 等,你可以将前缀添加到 split 命令的末尾,如下所示:

$ split –-verbose bigfile bigfile.
creating file 'bigfile.aa'
creating file 'bigfile.ab'
creating file 'bigfile.ac'

请注意,上述命令中显示的前缀的末尾会添加一个点。否则,文件将是 bigfileaa 之类的名称,而不是 bigfile.aa。

请注意,split 命令不会删除你的原始文件,只是创建了文件块。如果要指定文件块的大小,可以使用 -b 选项将其添加到命令中。例如:

$ split -b100M bigfile

文件大小可以是 KB、MB,GB,最大可以是 YB!只需使 K、M、G、T、P、E、Z 和 Y 这些合适的字母。

如果要基于每个块中的行数而不是字节数来拆分文件,那么可以使用 -l(行)选项。在此示例中,每个文件将有 1000 行,当然,最后一个文件可能有较少的行。

$ split --verbose -l1000 logfile log.
creating file 'log.aa'
creating file 'log.ab'
creating file 'log.ac'
creating file 'log.ad'
creating file 'log.ae'
creating file 'log.af'
creating file 'log.ag'
creating file 'log.ah'
creating file 'log.ai'
creating file 'log.aj'

如果你需要在远程站点上重新组合文件,那么可以使用如下所示的 cat 命令轻松地完成此操作:

$ cat x?? > original.file
$ cat log.?? > original.file

上面所示的分割和组合命令适合于二进制和文本文件。在此示例中,我们将 zip 二进制文件分割为 50KB 的块,之后使用 cat 重新组合了它们,然后比较了组合后的文件和原始文件。diff 命令验证文件是否相同。

$ split --verbose -b50K zip zip.
creating file 'zip.aa'
creating file 'zip.ab'
creating file 'zip.ac'
creating file 'zip.ad'
creating file 'zip.ae'
$ cat zip.a? > zip.new
$ diff zip zip.new
$          <== 无输出 = 无差别

我唯一要提醒的一点的是,如果你经常使用 split 并使用默认命名,那么某些文件块可能会覆盖其他的文件块,甚至会比你预期的更多,因为有些是更早之前分割的。

总结

以上所述是小编给大家介绍的使用 split 命令分割 Linux 文件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对华域联盟网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

  • OneinStack一键安装PHP/JAVA/HHVM和超详细的VPS手动安装LNMP的方法

    OneinStack一键安装PHP/JAVA/HHVM和超详细的VPS手动安装LNMP的方

    OneinStack一键工具提供多个Tomcat版本(Tomcat-8,Tomcat-7) 和多个JDK版本(JDK-1.8,JDK-1.7,JDK-1.6),支持CentOS 6、7下HHVM安装。如果还有为无法成功配置好Java或者HHVM环境而烦恼的话,OneinStack就可以助你一臂之力

    2017-07-07

  • Linux(CentOS)环境下安装下载Nginx并配置

    Linux(CentOS)环境下安装下载Nginx并配置

    本篇文章主要介绍了Linux(CentOS)环境下安装下载Nginx并配置 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    2017-02-02

  • Ubuntu系统下扩展LVM根目录的方法

    Ubuntu系统下扩展LVM根目录的方法

    这篇文章主要给大家介绍了关于Ubuntu系统下扩展LVM根目录的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    2018-05-05

  • Linux基础学习之文件查找find的常见用法

    Linux基础学习之文件查找find的常见用法

    这篇文章主要给大家介绍了关于Linux基础学习之文件查找find的常见用法的相关资料,例如:根据文件名查找、根据正则表达式查找、根据路径查找、根据文件类型查找以及根据文件大小等等,文中给出了详细的示例代码,需要的朋友可以参考借鉴。

    2017-12-12

  • 详解linux 下安装软件tar.gz, rpm,deb的方法

    详解linux 下安装软件tar.gz, rpm,deb的方法

    本篇文章主要介绍了linux 下安装软件tar.gz, rpm,deb的方法 ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

    2016-12-12

  • 详解linux系统下pid的取值范围

    详解linux系统下pid的取值范围

    这篇文章主要介绍了详解linux系统下pid的取值范围的相关资料,需要的朋友可以参考下

    2018-07-07

  • Centos6.5全自动安装 vsftpd+dhcp+nfs+tftp

    Centos6.5全自动安装 vsftpd+dhcp+nfs+tftp

    本文主要记述了在Centos6.5中,如何配置无人值守安装vsftpd+dhcp+nfs+tftp,非常实用,希望对大家能有所帮助。

    2014-09-09

  • CentOS中环境变量与配置文件的深入讲解

    CentOS中环境变量与配置文件的深入讲解

    这篇文章主要给大家介绍了关于CentOS中环境变量与配置文件的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用CentOS具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    2018-10-10

  • Linux VPS下简单解决CC攻击的方法

    Linux VPS下简单解决CC攻击的方法

    Linux VPS下简单解决CC攻击的方法,需要的朋友可以参考下

    2012-04-04

  • CentOS上安装Jenkins的方法

    CentOS上安装Jenkins的方法

    本篇文章主要介绍了CentOS上安装 Jenkins的方法,Jenkins是开源的,使用Java编写的持续集成的工具,在Centos上可以通过yum命令行直接安装。

    2017-03-03

最新评论

声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。