Computer >> Hướng Dẫn Máy Tính >  >> Điện Thoại Thông Minh >> Linux

Cách tạo tệp tar đa phần (multi-part) và ghép lại trong Linux

Hướng dẫn này giải thích cách chia một tệp lớn thành nhiều phần .tar dung lượng nhỏ hơn, và cách ghép chúng lại thành tệp gốc.

Khi cần lưu trữ backup hoặc chia sẻ tệp lớn qua dịch vụ giới hạn dung lượng mỗi tệp (ví dụ: 100 MB), bạn có thể nén và chia nhỏ. Tôi từng cần chia backup ~1 GB thành 10 phần 100 MB.

Chia tệp lớn thành nhiều phần

Tệp gốc: dbbackup.db (1 GB). Lệnh chia thành các phần 100 MB:

# tar -cf - dbbackup.db | split -b 100m - db_backup.tar
  • tar -cf -: Tạo archive tar ghi ra stdout (-).
  • split -b 100m -: Đọc từ stdin, chia thành các khối 100 MB.
  • db_backup.tar: Tiền tố tên tệp đầu ra.

Kết quả: 10 tệp tên db_backup.taraa, db_backup.tarab, db_backup.tarac... (mặc định dùng hậu tố aa, ab, ac...).

Ghép lại tệp gốc

# cat db_backup.tara* | tar -xf -
  • cat db_backup.tara*: Nối các phần theo thứ tự chữ số/hàng chữ cái (aa, ab, ac...).
  • tar -xf -: Giải nén từ stdin.

Bạn sẽ lấy lại tệp dbbackup.db nguyên vẹn.

Các biến thể hữu ích

Chia kèm nén (gzip) – tiết kiệm dung lượng hơn

# tar -czf - large_folder/ | split -b 100m - backup.tar.gz.part

Ghép lại:

# cat backup.tar.gz.part* | tar -xzf -

Dùng split với số lượng phần thay vì dung lượng

# split -n 5 large_file.tar.gz large_file.tar.gz.part.

Chia thành chính xác 5 phần.

Kiểm tra tính toàn vẹn

# Tạo checksum trước khi chia
sha256sum dbbackup.db > dbbackup.db.sha256

# Sau khi ghép lại, kiểm tra
sha256sum -c dbbackup.db.sha256

Lưu ý quan trọng

  • Thứ tự ghép bắt buộc đúng (aa, ab, ac...). cat * thường đúng nhờ sắp xếp từ điển, nhưng an toàn hơn: cat db_backup.tara{a..z} hoặc dùng ls -v.
  • Không xóa các phần cho đến khi xác minh tệp ghép thành công.
  • Dung lượng phần (-b 100m) nên nhỏ hơn giới hạn upload của dịch vụ đích.