1. 程式人生 > >tar分卷壓縮/解壓大檔案

tar分卷壓縮/解壓大檔案

傳輸比較大檔案時,或檔案大小超出接收方能處理的上限時,一般會分卷壓縮後進行傳輸。

$ tar -czf - data_dir/ | split -b 2G -d - mydata.tar.gz.

上面命令將data_dir目錄打包後壓縮,通過split分割成2GiB大小的多卷檔案,-d引數設定分卷字尾為數字序號,最終輸出的多卷壓縮檔案是 mydata.tar.gz.00, mydata.tar.gz.01, …

如果字尾序號引數改為 -b 則字尾序號為字母,輸出的多卷壓縮檔案是 mydata.tar.gz.aa, mydata.tar.gz.ab, …

解壓縮時則要先合併分卷,然後再解壓:

$ cat mydata.tar.gz.* | tar -xz 

tar的壓縮過濾器是可選的,上面舉的例子的過濾器是gzip,如果選bzip2,就把z引數改為j:

$ tar -cjf - data_dir/ | split -b 4G -d - mydata.tar.bz2.

這些命令也可以放入shell指令碼中,藉助shell指令碼就可以實現自動處理。