Linux下tar命令結(jié)合split實現(xiàn)的分包和并包
以前在做Linux下Android系統(tǒng)項目開發(fā)的時候,由于Android系統(tǒng)是非常龐大的,可能是10幾個G,供應(yīng)商給了如下的N多個壓縮包給了我,格式大概是下面這樣子:
xxx.gz.aa,xxx.gz.ab,xxx.gz.ac等等
接下來,為了更好說明如何解壓縮上面這種格式的文件,假設(shè)在當(dāng)前目錄下,存在一個Android_MTK的目錄,將目錄打包壓縮并分割成多個1M的文件,可以用下面的方法:
tar cjf - Android_MTK | split -b 1m - Android_MTK.tar.gz
完成后會產(chǎn)生下列文件:
Android_MTK.tar.gz2.aa Android_MTK.tar.gz2.ab
Android_MTK.tar.gz2.ac ...
如果要解壓該包可以用以下指令:
cat Android_MTK.tar.gz2.a* | tar xj
再舉一個例子,要將文件test.pdf分包壓縮成500字節(jié)的文件:
tar czf - test.pdf | split -b 500 - test.tar.g
我們看到以上都有split這個指令,split命令格式:
split [-b ][-C ][-][-l ][要切割的文件][輸出文件名前綴][-a ]
最常用的選項,都在這里了:
-b<字節(jié)>:指定按多少字節(jié)進(jìn)行拆分,也可以指定 K、M、G、T 等單位。
-<行數(shù)>或-l<行數(shù)>:指定每多少行要拆分成一個文件。
輸出文件名前綴:設(shè)置拆分后的文件的名稱前綴,split 會自動在前綴后加上編號,默認(rèn)從 aa 開始。
-a<后綴長度>:默認(rèn)的后綴長度是 2,也就是按 aa、ab、ac 這樣的格式依次編號。
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!