Tôi đã nén 6 tệp (tổng kích thước = 2gb) bằng cách sử dụng gzip -c myfiles_* >
~/myzip.gzip
và nhờ bạn tôi sao chép máy chủ này sang máy chủ khác.
Bây giờ tôi đã biết rằng kho lưu trữ được cho là được đặt tên .gz
vì vậy tôi
đổi tên tập tin bằng cách sử dụng mv
. Sau đó tôi chạy gunzip myzip.gz
.
Kết quả bạn đang thấy là chính xác những gì bạn tạo ra. GZip không giữ lại bất kỳ cấu trúc thư mục nào khi nén; nó chỉ nén các tập tin / dữ liệu. Vì vậy, khi bạn chạy lệnh này:
gzip -c myfiles_* > ~/myzip.gzip
Tất cả GZip đã làm là ghép tất cả các tệp mà nó tìm thấy với myfiles_*
vào một đốm lớn và nén chúng vào ~/myzip.gzip
. Thực tế là phần mở rộng tập tin không chính xác là không liên quan vì chỉ cần đổi tên tập tin đó như bạn đã làm, đó sẽ giải quyết vấn đề nhưng kho lưu trữ bên dưới vẫn chỉ là một tập tin lớn.
Còn về cách phục hồi bây giờ? Khá tự tin bạn không thể bởi vì vấn đề nằm ở logic GZip ban đầu của bạn. Đề xuất duy nhất tôi có cho bạn bây giờ là bắt đầu quay lại hình vuông và tạo một kho lưu trữ TAR / GZipped như thế này.
Tạo tệp TAR / GZipped.
Đầu tiên, chạy lệnh TAR này:
tar -cf myzip.tar myfiles_*
Điều đó sẽ tạo ra một kho lưu trữ TAR mới có tên myzip.tar
bao gồm các tệp mà hệ thống tìm thấy bằng cách sử dụng mẫu, myfiles_*
.
Bây giờ với điều đó, bạn có thể GZip lưu trữ TAR như thế này:
gzip myzip.tar
Đây là quá trình xử lý công cụ này của tôi trong Mac OS X, nhưng nếu bạn đang sử dụng phiên bản GNU của TAR, mà hầu hết các hệ thống Linux sử dụng thì bạn có thể chạy lệnh này để kết hợp cả hai bước thành một:
tar -cfz myzip.tar.gz
Lưu ý rằng thêm z
trong các tùy chọn? Điều đó nói với TAR cho GZip lưu trữ khi tạo nó.
Giải nén và hủy lưu trữ tệp TAR / GZipped.
Khi đã xong, bạn sẽ có một kho lưu trữ mới được đặt tên myzip.tar.gz
. Chuyển bất cứ nơi nào bạn cần đến và sau đó giải nén nó bằng lệnh TAR như thế này:
tar -xf myzip.tar.gz
TAR đủ thông minh hiện nay để phát hiện nén GZip như là một phần của quy trình hủy lưu trữ của nó, do đó, nó sẽ giải nén tệp lưu trữ TAR và sau đó trích xuất nội dung của kho lưu trữ TAR đó để khớp chính xác với cấu trúc tệp và thư mục của bất kỳ nguồn nào bắt đầu với.
scp
lệnh tôi gửi cho anh ta, chỉ chứa hai con đường.