一些簡(jiǎn)單的 Linux 命令能讓你根據(jù)需要分割以及重新組合文件,來(lái)適應(yīng)存儲(chǔ)或電子郵件附件大小的限制。
Linux 系統(tǒng)提供了一個(gè)非常易于使用的命令來(lái)分割文件。在將文件上傳到限制大小的存儲(chǔ)網(wǎng)站或者作為郵件附件之前,你可能需要執(zhí)行此操作。要將文件分割為多個(gè)文件塊,只需使用 split 命令。
$ split bigfile
默認(rèn)情況下,split 命令使用非常簡(jiǎn)單的命名方案。文件塊將被命名為 xaa、xab、xac 等,并且,大概地,如果你將足夠大的文件分割,你甚至可能會(huì)得到名為 xza 和 xzz 的塊。
除非你要求,否則該命令將無(wú)任何反饋地運(yùn)行。但是,如果你想在創(chuàng)建文件塊時(shí)看到反饋,可以使用 --verbose 選項(xiàng)。
$ 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'
請(qǐng)注意,上述命令中顯示的前綴的末尾會(huì)添加一個(gè)點(diǎn)。否則,文件將是 bigfileaa 之類的名稱,而不是 bigfile.aa。
請(qǐng)注意,split 命令不會(huì)刪除你的原始文件,只是創(chuàng)建了文件塊。如果要指定文件塊的大小,可以使用 -b 選項(xiàng)將其添加到命令中。例如:
$ split -b100M bigfile
文件大小可以是 KB、MB,GB,最大可以是 YB!只需使 K、M、G、T、P、E、Z 和 Y 這些合適的字母。
如果要基于每個(gè)塊中的行數(shù)而不是字節(jié)數(shù)來(lái)拆分文件,那么可以使用 -l(行)選項(xiàng)。在此示例中,每個(gè)文件將有 1000 行,當(dāng)然,最后一個(gè)文件可能有較少的行。
$ 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'
如果你需要在遠(yuǎn)程站點(diǎn)上重新組合文件,那么可以使用如下所示的 cat 命令輕松地完成此操作:
$ cat x?? > original.file
$ cat log.?? > original.file
上面所示的分割和組合命令適合于二進(jìn)制和文本文件。在此示例中,我們將 zip 二進(jìn)制文件分割為 50KB 的塊,之后使用 cat 重新組合了它們,然后比較了組合后的文件和原始文件。diff 命令驗(yàn)證文件是否相同。
$ 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
$ <== 無(wú)輸出 = 無(wú)差別
我唯一要提醒的一點(diǎn)的是,如果你經(jīng)常使用 split 并使用默認(rèn)命名,那么某些文件塊可能會(huì)覆蓋其他的文件塊,甚至?xí)饶泐A(yù)期的更多,因?yàn)橛行┦歉缰胺指畹摹?/p>
總結(jié)
以上所述是小編給大家介紹的使用 split 命令分割 Linux 文件,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!