前言
當(dāng)需要將較大的數(shù)據(jù)上傳到服務(wù)器,或從服務(wù)器下載較大的日志文件時(shí),往往會(huì)因?yàn)榫W(wǎng)絡(luò)或其它原因而導(dǎo)致傳輸中斷而不得不重新傳輸。這種情況下,可以先將大文件分割成小文件后分批傳輸,傳完后再合并文件。
1. 分割文件
文件分割可以使用split命令,該即支持文本文件分割,又支持二進(jìn)制文件分割;而合并文件可以使用cat命令。
1.1 文本文件分割
分割文本文件時(shí),可以按文件大小分割,也可以按文本行數(shù)分割。
按文件大小分割
按文件大小分割文件時(shí),需要以-C參數(shù)指定分割后的文件大小:
1
|
$ split -C 100M large_file.txt stxt |
如上所示,我們將大文件large_file.txt按100M大小進(jìn)行分割,并指定了分割后文件前綴stxt;當(dāng)不指定前綴時(shí),split會(huì)自動(dòng)對(duì)分割文件進(jìn)行命名,一般會(huì)以x開頭。
按行分割
文本文件還可以以行為單位進(jìn)行分割,以行數(shù)進(jìn)行分割時(shí)會(huì)忽略文件大小,并以-l參數(shù)指定分割后文件的行數(shù):
1
|
$ split -l 1000 large_file.txt stxt |
1.2 二進(jìn)制文件分割
二進(jìn)制文件分割類似于按大小分割文本文件,不同的是以-b參數(shù)來指定分割后的文件大小:
1
|
$ split -b 100M data.bak sdata |
2. 文件合并
文件合并使用cat命令,上面幾種方式分割的文件都可以使用cat命令合并。
cat命令合并分割文件:
1
|
$ cat stxt* > new_file.txt |
3. 命令格式
3.1 split命令說明
split命令格式如下:
split [選項(xiàng)]... [要切割的文件 [輸出文件前綴]]
命令參數(shù)
-a, --suffix-length=N 使用長度為 N 的后綴 (默認(rèn) 2)
-b, --bytes=SIZE 設(shè)置輸出文件的大小。支持單位:m,k
-C, --line-bytes=SIZE 設(shè)置輸出文件的最大行數(shù)。與 -b 類似,但會(huì)盡量維持每行的完整性
-d, --numeric-suffixes 使用數(shù)字后綴代替字母
-l, --lines=NUMBER 設(shè)備輸出文件的行數(shù)
--help 顯示版本信息
--version 輸出版本信息
3.2 cat命令說明
cat是Linux下使用頻率較高的命令之一,該令詳細(xì)介紹:
cat連接文件并打印到標(biāo)準(zhǔn)輸出設(shè)備上
cat命令的常見使用場(chǎng)景有:
顯示文件內(nèi)容:
1
|
$ cat filename |
創(chuàng)建一個(gè)空文件:
1
|
$ cat > filename |
文件合并:
1
|
$ cat file1 file2 > file |
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)服務(wù)器之家的支持。
原文鏈接:https://itbilu.com/linux/man/Nkz2hoeNm.html