自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

命令行生存指南:拆分與合并

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

命令行生存指南:拆分與合并

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

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

操作概述

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

這一節(jié)將會介紹 Linux 命令行下的文件拆分與合并操作。

概念和術(shù)語

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

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

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

操作實戰(zhàn)

場景一:使用 split 拆分文件

難度
演示用發(fā)行版 Fedora 32
涉及命令 split

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

按大小拆分

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

  • 二進制文件使用 -b 選項指定分割后的文件大小。
  • 文本文件則使用 -C 選項指定分割后的文件大小。

二者用法類似,只需要:

  1. split [選項] [大小] [待拆分文件] [拆分后的前綴(可選)]

以將 debian-live-10.5.0-amd64-lxqt.iso(約 2.4 GB)按 100MB 大小進行拆分為例:

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

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

  1. 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
  2. debian-live-ab debian-live-ae debian-live-ah debian-live-ak debian-live-an debian-live-aq debian-live-at debian-live-aw
  3. 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 合并文件

難度
演示用發(fā)行版 Fedora 32
涉及命令 cat、diff

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

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

合并拆分后的文件

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

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

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

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

  1. 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
  2. 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
  3. 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 為例:

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

小練習

  • 嘗試以不同方式拆分系統(tǒng)中的日志文件。

拓展閱讀

 

 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2020-11-01 20:00:26

命令行ShellLinux

2020-11-05 09:30:59

命令行Linux

2020-07-30 13:34:48

終端命令行Linux

2023-08-12 11:40:11

命令行生存

2023-03-31 08:44:55

Go開發(fā)命令

2023-02-07 09:49:26

Linux命令行合并文件

2013-12-09 14:29:13

OpenStack命令行工具API

2023-06-25 12:00:53

2020-12-10 16:16:08

工具代碼開發(fā)

2020-12-11 06:44:16

命令行工具開發(fā)

2011-05-17 10:28:57

VMwareXenServer

2015-07-01 09:15:46

linuxQuora命令行

2013-02-18 08:34:45

powershell

2009-12-25 16:04:06

shell命令行

2010-09-08 11:16:23

Linux命令行

2010-09-01 14:23:54

Linux命令行開發(fā)

2010-11-24 15:33:59

mysql命令行參數(shù)

2019-07-23 13:45:38

LinuxFedora權(quán)限

2009-07-20 09:55:30

華為命令行解析華為認證

2010-07-15 09:37:47

Perl命令行
點贊
收藏

51CTO技術(shù)棧公眾號