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





