Linux:怎样分割合并大文件

最近更新时间 2020-03-05 15:51:40

在服务器之间传输大文件,特别是跨区传输文件,比如 10多G的日志文件,由于网络很慢,而且不稳定,不支持断点续传,很难成功传输文件。

1. 使用 split 命令分割文件

使用 split 命令,把 nginx 文件分割为每个 500k 的文件,如下所示:

split -b 500k nginx-1.17.9.tar.gz -d -a 4
1015K Mar  3 23:09 nginx-1.17.9.tar.gz
 500K Mar  4 23:13 x0000
 500K Mar  4 23:13 x0001
  15K Mar  4 23:13 x0002
-b 500k
表示每个文件 500k。
-d
分割出来的小文件使用数字作为文件后缀,例如x000、x001、x002。
-a 4
数字后缀的长度为4。

2. 使用 cat 命令合并文件

使用 cat 命令,把 x0000 等文件合并为新的 nginx 文件,如下所示:

cat x* > nginx-new.tar.gz
1015K Mar  3 23:09 nginx-1.17.9.tar.gz
1015K Mar  4 23:22 nginx-new.tar.gz

文件大小未发生变化,可以使用 tar 解压命令或者 md5sum 命令查看文件内容是否发生变化。

rss_feed