Bạn có thể sử dụng lệnh split
với các tùy chọn -b
:
split -b 1024m file.tar.gz
Nó có thể được tập hợp lại trên một máy tính Windows sử dụng @Joshua 's câu trả lời.
copy /b file1 + file2 + file3 + file4 filetogether
Sửa: Như @Charlie nêu trong bình luận dưới đây, bạn có thể muốn thiết lập một tiền tố một cách rõ ràng bởi vì nó sẽ sử dụng x
khác, mà có thể gây nhầm lẫn.
split -b 1024m "file.tar.gz" "file.tar.gz.part-"
// Creates files: file.tar.gz.part-aa, file.tar.gz.part-ab, file.tar.gz.part-ac, ...
Sửa: Việc chỉnh sửa bài vì câu hỏi được đóng lại và các giải pháp hiệu quả nhất là rất gần với nội dung của câu trả lời này:
# create archives
$ tar cz my_large_file_1 my_large_file_2 | split -b 1024MiB - myfiles_split.tgz_
# uncompress
$ cat myfiles_split.tgz_* | tar xz
Giải pháp này tránh được nhu cầu sử dụng một tập tin lớn trung gian khi (de) nén. Sử dụng tùy chọn tar -C để sử dụng một thư mục khác cho các tệp kết quả. btw nếu lưu trữ bao gồm từ chỉ một tập tin duy nhất, tar có thể tránh được và chỉ gzip sử dụng:
# create archives
$ gzip -c my_large_file | split -b 1024MiB - myfile_split.gz_
# uncompress
$ cat myfile_split.gz_* | gunzip -c > my_large_file
Đối với các cửa sổ, bạn có thể tải về các phiên bản được chuyển của các lệnh tương tự hoặc sử dụng Cygwin.
Tôi cảm thấy nỗi đau của bạn nhưng điều này dường như không liên quan đến lập trình. –
Nhiều chương trình nén (ví dụ như 7-Zip) có thể chia tệp nén thành các ổ đĩa có kích thước được chỉ định để phân phối dễ dàng hơn. –
Điều này thuộc về superuser.com, nhưng phiên bản beta riêng tư không bắt đầu cho đến ngày mai, tôi được thông báo. – JesperE