溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux命令行中怎么進行文件的拆分與合并

發(fā)布時間:2022-01-21 14:00:51 來源:億速云 閱讀:280 作者:柒染 欄目:開發(fā)技術(shù)

Linux命令行中怎么進行文件的拆分與合并,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

操作概述

備份文件時常常涉及到大文件傳輸?shù)膯栴},遇到網(wǎng)絡(luò)質(zhì)量不佳或者其他問題常常會導(dǎo)致傳輸中斷,而不得不進行重傳。如果采用先將大文件拆分成多個小文件進行傳輸、待全部傳輸完成后合并所有文件的方式,往往可以改善傳輸體驗。我們將會介紹 Linux 命令行下的文件拆分與合并操作。

概念和術(shù)語

拆分,顧名思義,就是將一個大的文件分割成若干個較小的文件,這些小文件按次序拼接后可以還原大文件。通常情況下,根據(jù)文件大小進行拆分是較為常見的方式;但由于文本文件具有行數(shù)特征,所以除了按大小拆分之外,也可以按行數(shù)拆分。

合并,就是將若干個較小的文件拼接成一個較大文件。通常只需要按次序連接即可,相對比較簡單。

通常情況下,為確保拆分前和合并后的兩個文件相同,需要進行驗證。

操作實戰(zhàn)

場景一:使用 split 拆分文件

plit 是 Linux 環(huán)境提供的文件拆分實用程序,同時支持二進制文件和文本文件。通常情況下已經(jīng)隨 coreutils 內(nèi)置于系統(tǒng)中,無需另行安裝。

按大小拆分,二進制文件和文本文件按大小拆分時使用的選項不同:

  1. 二進制文件使用 -b 選項指定分割后的文件大小。


  2. 文本文件則使用 -C 選項指定分割后的文件大小。

二者用法類似,只需要:
split [選項] [大小] [待拆分文件] [拆分后的前綴(可選)]以將 debian-live-10.5.0-amd64-lxqt.iso(約 2.4 GB)按 100MB 大小進行拆分為例:

> split -b 100M debian-live-10.5.0-amd64-lxqt.iso debian-live-

可以看到原文件被拆分成 25 個更小的文件,從 aa 到 ay:

debian-live-aa  debian-live-ad  debian-live-ag  debian-live-aj  debian-live-am  debian-live-ap  debian-live-as  debian-live-av  debian-live-ay
debian-live-ab  debian-live-ae  debian-live-ah  debian-live-ak  debian-live-an  debian-live-aq  debian-live-at  debian-live-aw
debian-live-ac  debian-live-af  debian-live-ai  debian-live-al  debian-live-ao  debian-live-ar  debian-live-au  debian-live-ax

場景二:使用 cat 合并文件

cat 是 linux 環(huán)境提供的文件連接實用程序,能夠連接文件并將其輸出到標(biāo)準(zhǔn)輸出。通常情況下已經(jīng)隨 coreutils 內(nèi)置于系統(tǒng)中,無需另行安裝。

值得注意的是,為了保證合并后的文件和原始文件一致,在有條件的情況下,可以用 diff 命令驗證。

使用 cat 合并文件可以采用 cat [文件…] > [合并后的文件名] 的格式,此方法對二進制文件和文本文件均有效。

以之前的 debian-live-aa 到 debian-live-ay 為例,合并時可以使用此命令:

> cat debian-live-* > debian-live.iso

可以看到目錄下會生成合并后的 debian-live.iso 文件。

debian-live-aa  debian-live-ad  debian-live-ag  debian-live-aj  debian-live-am  debian-live-ap  debian-live-as  debian-live-av  debian-live-ay
debian-live-ab  debian-live-ae  debian-live-ah  debian-live-ak  debian-live-an  debian-live-aq  debian-live-at  debian-live-aw  debian-live.iso
debian-live-ac  debian-live-af  debian-live-ai  debian-live-al  debian-live-ao  debian-live-ar  debian-live-au  debian-live-ax

使用 diff 驗證文件

只需要按 diff [原文件] [現(xiàn)文件] 的格式執(zhí)行即可。如果沒有輸出,則證明兩個文件之間沒有差異。

以對比 debian-live-10.5.0-amd64-lxqt.iso 和 debian-live.iso 為例:

> diff debian-live-10.5.0-amd64-lxqt.iso debian-live.iso
> # 無輸出,表示二者是相同的。

看完上述內(nèi)容,你們掌握Linux命令行中怎么進行文件的拆分與合并的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI