0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux系统下传输大文件的切割与合并实例分析

马哥Linux运维 来源:马哥Linux运维 作者:Escape 2021-07-02 11:47 次阅读

往往是因为网络传输的限制,导致很多时候,我们需要在 Linux 系统下进行大文件的切割。这样将一个大文件切割成为多个小文件,进行传输,传输完毕之后进行合并即可。

文件切割 - split

在 Linux 系统下使用 split 命令进行大文件切割很方便

命令语法

使用实例

# 行切割文件

$ split -l 300000 users.sql /data/users_

# 使用数字后缀

$ split -d -l 300000 users.sql /data/users_

# 按字节大小分割

$ split -d -b 100m users.sql /data/users_

```bash

**帮助信息**

```bash

# 帮助信息

$ split --help

Usage: split [OPTION]。。. [FILE [PREFIX]]

Output pieces of FILE to PREFIXaa, PREFIXab, 。。.;

default size is 1000 lines, and default PREFIX is ‘x’。

With no FILE, or when FILE is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.

-a, --suffix-length=N generate suffixes of length N (default 2) 后缀名称的长度(默认为2)

--additional-suffix=SUFFIX append an additional SUFFIX to file names

-b, --bytes=SIZE put SIZE bytes per output file 每个输出文件的字节大小

-C, --line-bytes=SIZE put at most SIZE bytes of records per output file 每个输出文件的最大字节大小

-d use numeric suffixes starting at 0, not alphabetic 使用数字后缀代替字母后缀

--numeric-suffixes[=FROM] same as -d, but allow setting the start value

-e, --elide-empty-files do not generate empty output files with ‘-n’ 不产生空的输出文件

--filter=COMMAND write to shell COMMAND; file name is $FILE 写入到shell命令行

-l, --lines=NUMBER put NUMBER lines/records per output file 设定每个输出文件的行数

-n, --number=CHUNKS generate CHUNKS output files; see explanation below 产生chunks文件

-t, --separator=SEP use SEP instead of newline as the record separator; 使用新字符分割

‘’ (zero) specifies the NUL character

-u, --unbuffered immediately copy input to output with ‘-n r/。。.’ 无需缓存

--verbose print a diagnostic just before each 显示分割进度

output file is opened

--help display this help and exit 显示帮助信息

--version output version information and exit 显示版本信息

The SIZE argument is an integer and optional unit (example: 10K is 10*1024)。

Units are K,M,G,T,P,E,Z,Y (powers of 1024) or KB,MB,。。. (powers of 1000)。

CHUNKS may be:

N split into N files based on size of input

K/N output Kth of N to stdout

l/N split into N files without splitting lines/records

l/K/N output Kth of N to stdout without splitting lines/records

r/N like ‘l’ but use round robin distribution

r/K/N likewise but only output Kth of N to stdout

GNU coreutils online help: 《http://www.gnu.org/software/coreutils/》

Full documentation at: 《http://www.gnu.org/software/coreutils/split》

or available locally via: info ‘(coreutils) split invocation’

文件合并 - cat

在 Linux 系统下使用 cat 命令进行多个小文件的合并也很方便

命令语法

-n: #显示行号

-e: #以$字符作为每行的结尾

-t: #显示TAB字符(^I)

cat [-n] [-e] [-t] [输出文件名]

使用实例

# 合并文件

$ cat /data/users_* 》 users.sql

帮助信息

# 帮助信息

$ cat --h

Usage: cat [OPTION]。。. [FILE]。。.

Concatenate FILE(s) to standard output.

With no FILE, or when FILE is -, read standard input.

-A, --show-all equivalent to -vET

-b, --number-nonblank number nonempty output lines, overrides -n

-e equivalent to -vE

-E, --show-ends display $ at end of each line

-n, --number number all output lines

-s, --squeeze-blank suppress repeated empty output lines

-t equivalent to -vT

-T, --show-tabs display TAB characters as ^I

-u (ignored)

-v, --show-nonprinting use ^ and M- notation, except for LFD and TAB

--help display this help and exit

--version output version information and exit

Examples:

cat f - g Output f‘s contents, then standard input, then g’s contents.

cat Copy standard input to standard output.

GNU coreutils online help: 《http://www.gnu.org/software/coreutils/》

Full documentation at: 《http://www.gnu.org/software/coreutils/cat》

or available locally via: info ‘(coreutils) cat invocation’

作者: Escape

文章出处:【微信公众号:马哥Linux运维】

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11319

    浏览量

    209830

原文标题:Linux 下大文件切割与合并

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    防止根文件系统破坏,OverlayRootfs 让你的设备更安全

    多个文件系统合并成一个单一的视图,在Linux系统中广泛应用。使用OverlayRootfs的设备可以很轻松的实现:根文件系统写保护、恢复
    的头像 发表于 01-08 16:33 80次阅读
    防止根<b class='flag-5'>文件系统</b>破坏,OverlayRootfs 让你的设备更安全

    Linux文件查找

    Linux文件查找 1.find查找概述 为什么要有文件查找,因为很多时候我们可能会忘了某个文件所在的位置,此时就需要通过find来查找。 find命令可以根据不同的条件来进行查找
    的头像 发表于 12-03 17:09 291次阅读

    盘点Linux系统中的常见命令

    作为运维同学怎能不知道Linux系统中的lsmod、lsof、lspci、lsscsi命令呢,今天就来盘一盘她及实例
    的头像 发表于 12-03 09:48 285次阅读
    盘点<b class='flag-5'>Linux</b><b class='flag-5'>系统</b>中的常见命令

    Linux文件压缩打包的各种姿势

    1.文件打包与压缩 1.什么是文件压缩? 将多个文件或目录合并成为一个特殊的文件。比如: 搬家…脑补画面 img. 2.为什么要对
    的头像 发表于 12-02 09:25 235次阅读

    如何使用SFTP传输大文件

    在当今的数字化时代,大文件传输变得越来越常见。无论是企业数据迁移、远程备份还是内容分发,都需要一种既安全又高效的文件传输方式。SFTP作为一种基于SSH的文件传输协议,提供了一种加密的传输
    的头像 发表于 11-13 14:11 783次阅读

    微电子封装切割熔锡失效分析及对策

    冷却系统的稳定性。4 喷嘴的影响喷嘴是切割冷却水的传输装置,它将切割冷却水均匀地喷射到刀片和产品的表面,使刀片和产品在切割过程中的有限空间实
    的头像 发表于 11-01 11:08 196次阅读

    Linux文件系统的挂载过程

    Linux文件系统(rootfs)是Linux系统中所有其他文件系统和目录的起点,它是内核启动时挂载的第一个
    的头像 发表于 10-05 16:50 443次阅读

    如何构建Linux文件系统

    构建Linux文件系统是一个涉及多个步骤和概念的过程,它对于Linux系统的启动和运行至关重要。
    的头像 发表于 10-05 16:47 311次阅读

    物联网系统高速率WiFi传输方案_WIFI模块详解

    数百兆甚至千兆级别,相比其他无线通信技术具有显著的速度优势。这使得WIFI模块非常适合用于传输对时间和速度要求非常高的数据,如高清视频、大文件等。 广泛的覆盖范围: WIFI路由器的传输范围通常可以覆盖数百平方米,甚至能在多个房
    的头像 发表于 09-27 16:54 782次阅读
    物联网<b class='flag-5'>系统</b>高速率WiFi<b class='flag-5'>传输</b>方案_WIFI模块详解

    如何更改Linux文件系统终端显示颜色

    自己制作的简单 Linux 文件系统,你会发现终端显示为黑白色,很不好看
    的头像 发表于 08-12 17:29 605次阅读
    如何更改<b class='flag-5'>Linux</b><b class='flag-5'>文件系统</b>终端显示颜色

    如何修改buildroot和debian文件系统

    本文档主要介绍在没有编译环境的情况下,如何修改buildroot和debian文件系统方法,如在buildroot文件系统中添加文件、修改目录等文件操作,在debian
    的头像 发表于 07-22 17:46 514次阅读
    如何修改buildroot和debian<b class='flag-5'>文件系统</b>

    Linux高级文件系统管理详解

    阶的文件系统就得要学习,本章我们会介绍磁盘阵列 (RAID),及逻辑卷轴文件系统 (LVM),这些工具都可以帮助你管理与维护使用者可用的磁盘容量.
    的头像 发表于 07-16 16:31 373次阅读

    linux--sysfs文件系统

    sysfs文件系统 sysfs,全称为System Filesystem,是一个由Linux内核实现的虚拟文件系统。它扮演着一个桥梁的角色,将内核中的设备和驱动程序信息以文件的形式呈现
    的头像 发表于 07-08 11:37 924次阅读
    <b class='flag-5'>linux</b>--sysfs<b class='flag-5'>文件系统</b>

    esp32如何一次性读取大文件数据?

    esp32没有提供数据库读写的例子,最近有个大文件,无法一次性读出,请问,怎么读取,json中一部分json数组。然后修改完了以后,在写入进去?
    发表于 06-25 06:52

    Linux系统如何扩展文件系统

    当数据盘没有创建分区,只在设备上创建了文件系统。或者格式化了硬盘,就直接mount上系统使用。
    的头像 发表于 02-21 09:53 852次阅读