命令行生存指南:拆分與合併|Linux 中國

2020年11月22日11:56:08 科技 1517

命令行生存指南:拆分與合併|Linux 中國 - 天天要聞

導讀:這一節將會介紹 Linux 命令行下的文件拆分與合併操作。                         

本文字數:2706,閱讀時長大約:3分鐘

作者:Psiace

作為一個工程師,我們經常與命令行打交道,但除了工作用的命令,你是否嘗試過讓命令來替代你生活中方方面面?

為了讓更多的愛好者可以用命令行作為自己的有效工具,Linux 中國特別邀請了三位作者,撰寫了《命令行生存指南》,希望可以通過這個系列的文章,讓你換一個視角,來看待命令行的存在。如果你想體驗一下不一樣的命令行,那就不妨來看看今天的《命令行生存指南》。

本次的內容為試讀內容,也歡迎你針對今天的內容提出自己的意見和建議。

操作概述

備份文件時常常涉及到大文件傳輸的問題,遇到網絡質量不佳或者其他問題常常會導致傳輸中斷,而不得不進行重傳。如果採用先將大文件拆分成多個小文件進行傳輸、待全部傳輸完成後合併所有文件的方式,往往可以改善傳輸體驗。

這一節將會介紹 Linux 命令行下的文件拆分與合併操作。

概念和術語

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

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

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

操作實戰

場景一:使用 split 拆分文件

split

是 Linux 環境提供的文件拆分實用程序,同時支持二進制文件和文本文件。通常情況下已經隨  內置於系統中,無需另行安裝。

按大小拆分

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

◈ 二進制文件使用  選項指定分割後的文件大小。

◈ 文本文件則使用  選項指定分割後的文件大小。

二者用法類似,只需要:

以將 (約 2.4 GB)按 100MB 大小進行拆分為例:

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

場景二:使用 cat 合併文件

cat

是 linux 環境提供的文件連接實用程序,能夠連接文件並將其輸出到標準輸出。通常情況下已經隨  內置於系統中,無需另行安裝。

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

合併拆分後的文件

使用cat合併文件可以採用cat [文件...] > [合併後的文件名]的格式,此方法對二進制文件和文本文件均有效。

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

可以看到目錄下會生成合併後的  文件。

使用 diff 驗證文件

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

以對比  和  為例:

小練習

◈ 嘗試以不同方式拆分系統中的日誌文件。

科技分類資訊推薦

蘋果 watchOS 11.6 開發者預覽版 Beta 發佈 - 天天要聞

蘋果 watchOS 11.6 開發者預覽版 Beta 發佈

IT之家 6 月 17 日消息,蘋果今日向 Apple Watch 用戶推送了 watchOS 11.6 開發者預覽版 Beta 更新(內部版本號:22U5054b),本次更新距離上次發佈 Beta/RC 間隔 41 天。 本文由機械人發佈,IT之家稍後將為大家帶來具體更新內容。 附 watchOS 11 發佈歷史: IT之家小夥伴如果找到更多新內容,可以在
蘋果 visionOS 2.6 開發者預覽版 Beta 發佈 - 天天要聞

蘋果 visionOS 2.6 開發者預覽版 Beta 發佈

IT之家 6 月 17 日消息,蘋果今日向 Vision Pro 用戶推送了 visionOS 2.6 開發者預覽版 Beta 更新(內部版本號:22O5754c),本次更新距離上次發佈 Beta/RC 間隔 41 天。 需要注意的是,因蘋果各區域節點服務器配置緩存問題,可能有些地方探測到升級更新的時間略有延遲,一般半小時內,不會太久。 本文由機械人發佈,I
蘋果 macOS 15.6 開發者預覽版 Beta 發佈 - 天天要聞

蘋果 macOS 15.6 開發者預覽版 Beta 發佈

IT之家 6 月 17 日消息,蘋果今日向 Mac 電腦用戶推送了 macOS 15.6 開發者預覽版 Beta 更新(內部版本號:24G5054d),本次更新距離上次發佈 Beta/RC 間隔 41 天。 本文由機械人發佈,IT之家稍後將為大家帶來具體更新內容。 附 macOS 15 發佈歷史: IT之家小夥伴如果找到更多新內容,可以在投稿或評論區中提出你
蘋果 iOS 18.6 開發者預覽版 Beta 發佈 - 天天要聞

蘋果 iOS 18.6 開發者預覽版 Beta 發佈

IT之家 6 月 17 日消息,蘋果今日向 iPhone 用戶推送了 iOS 18.6 開發者預覽版 Beta 更新(內部版本號:22G5054d),本次更新距離上次發佈 Beta/RC 間隔 41 天。 本文由機械人發佈,IT之家稍後將為大家帶來具體更新內容。 附 iOS/iPadOS 18 發佈歷史: IT之家小夥伴如果找到更多新內容,可以在投稿或評論區
ToB話聊室:光學AI處理器準確分類無線信號;腦機接口成失語者「數字聲帶」 - 天天要聞

ToB話聊室:光學AI處理器準確分類無線信號;腦機接口成失語者「數字聲帶」

【ZOL中關村在線原創新聞】6月16日,歡迎收看《ToB話聊室》。在這裡,小編將跟你嘮一嘮科技領域的新鮮事兒。光學AI處理器可高效準確分類無線信號據最新一期《科學進展》雜誌報道,美國麻省理工學院團隊開發出一種專為無線信號處理而設計的全新人工智能(AI)硬件加速器。這種光學處理器能以光速進行機器學習運算,可在數十...
天璣9500再曝:首發搭載X930超大核,9月正式發佈! - 天天要聞

天璣9500再曝:首發搭載X930超大核,9月正式發佈!

隨着移動芯片製程不斷逼近物理極限,旗艦SoC的每一代更迭都不再只是常規升級,而是廠商之間真正意義上的技術較量,比如我們常在旗艦手機上見到的高通驍龍8系與聯發科天璣9系,它們之間的相互競爭,早已成為許多網友關注的焦點。
一加15曝光:驍龍8Elite2+1.5K直屏+自主影像,或10月發佈 - 天天要聞

一加15曝光:驍龍8Elite2+1.5K直屏+自主影像,或10月發佈

在手機行業進入「性能普遍過剩」的當下,旗艦產品的定義正在悄然發生變化。芯片早已不再是唯一賣點,外觀設計、影像系統、屏幕體驗、系統調校等維度逐漸成為用戶綜合決策的重要考量。而即將在今年下半年登場的「一加15」,很可能就是這種新趨勢下的又一代表
陽江商業發射場:第二個海南商發? - 天天要聞

陽江商業發射場:第二個海南商發?

圖/陽江海陵島海陵島,莫做「水魚島」全文3678字,閱讀時間約9分鐘繼去年海南商業航天發射場(簡稱"海南商發")竣工運營後,廣東省陽江市也在積極謀劃建設商業航天發射場。如順利,陽江可能成為中國第二座商業航天發射場。