紀錄一下在 Linux 上要如何把壓縮檔(tar or zip)拆成數個小檔案.
適用於所有與 tar 搭配的壓縮方式 (gzip, bzip2, xz, etc.)
以 gzip 為例
# Each splitted file has maximum 10MB in size
$ tar czf - myfolder | split -b 10M - "myarchive.tar.gz.part"
The results splitted files would be named in the following series, “myarchive.tar.gz.partaa”, “myarchive.tar.gz.partab”, …
$ cat original.tar.gz | split -b 10M - "myarchive.tar.gz.part"
$ split -b 10M original.tar.gz "myarchive.tar.gz.part"
$ cat myarchive.tar.gz.part* > merged.tar.gz
$ cat myarchive.tar.gz.part* | tar xzf
# Each splitted archive has 5 MB in size
$ zip -r -s 5m myarchive.zip myfolder/
The results would be “myarchive.zip”, “myarchive.z01”, “myarchive.z02”, “myarchive.z03”, …
$ zip -F myarchive.zip --out single-archive.zip
$ unzip single-archive.zip
Linux
Written on
November
27th,
2021
by
Borting