Xem xét trường hợp cụ thể của đa phân khúc các tệp ZIP ,
đây là một câu trả lời bổ sung cho một trong những chính .
Như đã nêu trong câu trả lời chính, chỉ một số công cụ lưu trữ hỗ trợ chia tách và GUI chính dường như không thể tạo lưu trữ nhiều phân đoạn ở zip
định dạng. Các định dạng thay thế có thể được sử dụng, cụ thể làrar
và 7z
.
Ngoài ra, chỉ một số công cụ có thể trích xuất từ các tệp zip nhiều phân đoạn, chẳng hạn như các công cụ được thảo luận ở đây: trên đó, xem ghi chú cuối cho câu trả lời này.
Vì câu hỏi đề cập cụ thể đến vấn đề xử lý lưu trữ từ menu ngữ cảnh của trình quản lý tệp , tôi đã xem xét một số lệnh có thể đạt được mục đích đã cho ngay cả đối với zip
các tệp: các lệnh đó, nếu thành công, sau đó có thể dễ dàng thêm vào trình quản lý tệp như mục menu ngữ cảnh.
Xem xét zip
công cụ, lưu trữ nhiều phân đoạn có thể được tạo trực tiếp bằng một lệnh như zip my_archive.zip -r <file> -s 20971519
(chi tiết hơn trong câu hỏi này ), nhưng chúng không hữu ích vì chúng chưa sẵn sàng để trích xuất (cần một zip -s 0
lệnh bổ sung để tạo ra 1- lớn tập tin lưu trữ có thể giải nén - như được mô tả ở đây ) và giới hạn này không thể tránh được. Gửi một kho lưu trữ nhiều phân khúc như vậy cho ai đó mà không biết điều này là vô nghĩa.
Như đã đề xuất trong câu trả lời chính, một cách khác là nén tệp và sau đó phân chia tệp lưu trữ một tệp vớisplit
(hoặchjsplit
GUI). (Tôi đã kiểm tra GUI và tôi thấy nó cực kỳ chậm, trong khi với mục đích menu ngữ cảnh thì GUI không cần thiết.)
Ý tưởng là thêm vào menu ngữ cảnh của trình quản lý tệp một mục mà chỉ với một cú nhấp chuột, sẽ
- nén các tệp đã chọn thành một
zip
tệp duy nhất ,
- chia tệp zip thành các phần có kích thước tối đa được chỉ định và
- loại bỏ nó để chỉ lưu trữ nhiều tập tin.
Vì vậy, tôi đã thử nghiệm với Thunar và một hành động tùy chỉnh với ba lệnh này được kết nối bởi &&
:
zip -j my_archive.zip %F && split -b 20m my_archive.zip split.zip && rm my_archive.zip
(Đó là áp dụng cho một hoặc nhiều tệp đã chọn, nhưng không áp dụng cho các thư mục; để áp dụng cho các thư mục, zip -r
tùy chọn là cần thiết:
zip -r -j my_archive.zip %F && split -b 20m my_archive.zip split.zip && rm my_archive.zip
)
-j
là viết tắt của một tùy chọn zip
để "rác đường dẫn": không giống như lệnh đầu cuối chứa đường dẫn đầy đủ của (các) tệp được lưu trữ, một lệnh trình đơn ngữ cảnh sử dụng %F
cho các tệp đã chọn sẽ thêm vào lưu trữ một thư mục trong cấu trúc -folder trừ khi -j
được sử dụng; (nguồn: tạo zip - bỏ qua cấu trúc thư mục );
my_archive.zip
là tên tùy chỉnh của kho lưu trữ chưa phân chia; các split
lệnh sẽ được áp dụng cho nó và sau đó trước đây sẽ được loại bỏ vớirm
%F
có thể được sử dụng trong một hành động tùy chỉnh Thunar để nén nhiều tệp như zip
; cách khác, %f
được sử dụng để lựa chọn chỉ một tệp;
-b 20m
là viết tắt của kích thước của các phần lưu trữ riêng biệt được tạo bởi split
như được chỉ ra ở đây ;
split.zip
là một đặc điểm kỹ thuật không cần thiết; nó là tên tùy chỉnh của kho lưu trữ nhiều tệp cuối cùng, nó sẽ cung cấp một cái gì đó giống như split.zipaa, split.zipab, split.zipac...
, và nếu không có nó, đầu ra sẽ được đặt tên x
theo sau là các aa
hậu tố đoạn:, xaa, xab, xac...
v.v; có một split
tùy chọn -d
để sử dụng hậu tố số thay vì chữ cái, nhưng điều đó gây ra lỗi (vì rõ ràng người trích xuất mong đợi một kho lưu trữ đa phân đoạn ZIP tiêu chuẩn khi thấy hậu tố số - như được đề xuất trong một cuộc trò chuyện riêng tư của Stephen Kitt ;
rm
áp dụng cho my_archive.zip
tệp sẽ chỉ còn lại chúng tôi với kho lưu trữ nhiều phân đoạn mong muốn.
Chú thích:
Để trích xuất lưu trữ đa zip kết quả, một công cụ hỗ trợ aa
lưu trữ phân đoạn là cần thiết , như file-roller
trong Linux và 7-Zip trong Windows.