Linux 之 split 切分大文件 cat 合并多个小文件

Posted 闭关苦炼内功

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 之 split 切分大文件 cat 合并多个小文件相关的知识,希望对你有一定的参考价值。

需求:
B数据中心上线,需要做内网私服(单机yum源repo私服)
搞个rhel7.9 iso

分析:
官网下载太慢,某度网盘下载也是慢
突然想起来,A数据中心有一台服务器上边有iso,奈何传输文件限值大小不能超过2G
rhel7.9的iso大小4.3G
一勤天下无难事,求人不如求己,还得靠自己
split 切分文件干起来
切分完以后,有3个小文件,下载到PC机,然后再上传到B数据中心一台服务器上
然后再做小文件合并


开干

A数据中心 服务器1

[root@localhost /]# tar -zcvf rhel-server-7.9-x86_64-dvd.iso.tar.gz rhel-server-7.9-x86_64-dvd.iso 
rhel-server-7.9-x86_64-dvd.iso

[root@localhost /]# 
[root@localhost /]# ls -lh rhel*
总用量 8.3G
-rw-r--r--    1 root    root    4.3G 1228 2021 rhel-server-7.9-x86_64-dvd.iso
-rw-r--r--    1 root    root    4.0G 1114 16:06 rhel-server-7.9-x86_64-dvd.iso.tar.gz
[root@localhost /]# 


[root@localhost /]# split -b 1500M rhel-server-7.9-x86_64-dvd.iso.tar.gz "rhel7.9.tar.gz.part"
[root@localhost /]# ls -lh rhel*
总用量 13G
-rw-r--r--    1 root    root    1.5G 1114 16:12 rhel7.9.tar.gz.partaa
-rw-r--r--    1 root    root    1.5G 1114 16:12 rhel7.9.tar.gz.partab
-rw-r--r--    1 root    root    1.1G 1114 16:12 rhel7.9.tar.gz.partac
-rw-r--r--    1 root    root    4.3G 1228 2021 rhel-server-7.9-x86_64-dvd.iso
-rw-r--r--    1 root    root    4.0G 1114 16:06 rhel-server-7.9-x86_64-dvd.iso.tar.gz
[root@localhost /]#

B数据中心 服务器2

[root@localhost ~]# ls -lh
total 64M
-rw-------. 1 root root 2.2K Sep 26 15:39 anaconda-ks.cfg
-rw-r--r--. 1 root root  53M Nov 14 16:21 rhel7.9.tar.gz.partaa
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# watch -n1 'ls -lh'
[root@localhost ~]#
[root@localhost ~]# ls -lh
total 4.0G
-rw-------. 1 root root 2.2K Sep 26 15:39 anaconda-ks.cfg
-rw-r--r--. 1 root root 1.5G Nov 14 16:22 rhel7.9.tar.gz.partaa
-rw-r--r--. 1 root root 1.5G Nov 14 16:23 rhel7.9.tar.gz.partab
-rw-r--r--. 1 root root 1.1G Nov 14 16:24 rhel7.9.tar.gz.partac
[root@localhost ~]#
[root@localhost ~]# cat rhel7.9.tar.gz.parta* > rhel7.9.tar.gz
[root@localhost ~]#
[root@localhost ~]# ls -lh
total 8.0G
-rw-------. 1 root root 2.2K Sep 26 15:39 anaconda-ks.cfg
-rw-r--r--. 1 root root 4.0G Nov 14 16:26 rhel7.9.tar.gz
-rw-r--r--. 1 root root 1.5G Nov 14 16:22 rhel7.9.tar.gz.partaa
-rw-r--r--. 1 root root 1.5G Nov 14 16:23 rhel7.9.tar.gz.partab
-rw-r--r--. 1 root root 1.1G Nov 14 16:24 rhel7.9.tar.gz.partac
[root@localhost ~]#
[root@localhost ~]# tar -zxf rhel7.9.tar.gz
[root@localhost ~]#
[root@localhost ~]# ls -lh
total 13G
-rw-------. 1 root root 2.2K Sep 26 15:39 anaconda-ks.cfg
-rw-r--r--. 1 root root 4.0G Nov 14 16:26 rhel7.9.tar.gz
-rw-r--r--. 1 root root 1.5G Nov 14 16:22 rhel7.9.tar.gz.partaa
-rw-r--r--. 1 root root 1.5G Nov 14 16:23 rhel7.9.tar.gz.partab
-rw-r--r--. 1 root root 1.1G Nov 14 16:24 rhel7.9.tar.gz.partac
-rw-r--r--. 1 root root 4.3G Dec 28  2021 rhel-server-7.9-x86_64-dvd.iso
[root@localhost ~]#
[root@localhost ~]#

其实就是两条命令

  • 拆分大文件
    split -b 1500M rhel-server-7.9-x86_64-dvd.iso.tar.gz "rhel7.9.tar.gz.part"

  • 合并小文件
    cat rhel7.9.tar.gz.parta* > rhel7.9.tar.gz


打完收工!
2022-11-16 04:02

这加班加的,马上天亮了
各位看官看到以后点赞支持下呗!

以上是关于Linux 之 split 切分大文件 cat 合并多个小文件的主要内容,如果未能解决你的问题,请参考以下文章

Linux大文件分割split和合并cat使用方法

进行大文件的分片操作(split),合并(cat/copy)

Linux之cat命令

Linux之cat命令

大文件分割之Linux

split文件切片