Những gì bạn muốn làm là, hãy unzip
lấy một tệp ZIPped trên đầu vào tiêu chuẩn của nó chứ không phải là một đối số. Điều này thường dễ dàng được hỗ trợ bởi gzip
và tar
loại công cụ với một -
đối số. Nhưng tiêu chuẩn unzip
không làm điều đó (mặc dù, nó hỗ trợ khai thác vào đường ống). Tuy nhiên, tất cả là không bị mất...
Nhìn vào trang hướng dẫn funzip .
funzip không có đối số tập tin hoạt động như một bộ lọc; nghĩa là, nó giả định rằng một tệp lưu trữ ZIP (hoặc tệp gzip'd) đang được chuyển vào đầu vào tiêu chuẩn và nó trích xuất thành viên đầu tiên từ kho lưu trữ sang thiết bị xuất chuẩn. Khi stdin đến từ một thiết bị tty, funzip giả định rằng đây không thể là luồng dữ liệu nén (nhị phân) và thay vào đó hiển thị một văn bản trợ giúp ngắn. Nếu có một đối số tệp, thì đầu vào được đọc từ tệp được chỉ định thay vì từ stdin.
Với giới hạn về trích xuất một thành viên, funzip là hữu ích nhất khi kết hợp với chương trình lưu trữ thứ cấp như tar (1). Phần sau đây bao gồm một ví dụ minh họa việc sử dụng này trong trường hợp sao lưu đĩa vào băng.
Điều này phù hợp với ý tưởng rằng hầu hết các tài liệu lưu trữ linux thường được TAR'ed và sau đó được ZIP theo một cách nào đó (gzip, bzip, et al). Điều này sẽ làm việc cho bạn nếu bạn có một tar.ZIP
.
Điều đáng chú ý funzip
là được viết bởi tác giả gốc Info-ZIP Mark Adler. Ông viết trong trang người đàn ông funzip,
this functionality should be incorporated into unzip itself (future release).
tuy nhiên, không có cập nhật như vậy được nhìn thấy xung quanh. Tôi nghi ngờ rằng Mark thấy không cần thiết vì các phương pháp lưu trữ khác hoạt động dễ dàng với TAR.