Bạn chỉ có thể sử dụng *
; không có nhu cầu *.*
. Phần mở rộng tệp không phải là đặc biệt trên Unix. *
phù hợp với không hoặc nhiều ký tự khác bao gồm một dấu chấm. Vì vậy, nó phù hợp foo.png
, bởi vì đó là 0 hoặc nhiều ký tự (chính xác là bảy).
Lưu ý rằng *
theo mặc định không khớp các tệp bắt đầu bằng dấu chấm (không có dấu chấm *.*
). Đây thường là những gì bạn muốn. Nếu không, trong bash, nếu bạn shopt -s dotglob
sẽ (nhưng vẫn sẽ loại trừ .
và ..
). Các shell khác có các cách khác nhau (hoặc không có gì cả) bao gồm các dotfiles.
Ngoài ra, zip
cũng có một -r
tùy chọn (đệ quy) để thực hiện toàn bộ cây thư mục cùng một lúc (và không phải lo lắng về vấn đề dotfile):
zip -r myfiles.zip mydir
nơi mydir
là thư mục chứa tập tin của bạn. Lưu ý rằng zip được sản xuất sẽ chứa cấu trúc thư mục cũng như các tệp. Như peterph chỉ ra trong nhận xét của mình, điều này thường được xem là một điều tốt: trích xuất zip sẽ lưu trữ gọn gàng tất cả các tệp được trích xuất trong một thư mục con.
Bạn cũng có thể yêu cầu zip không lưu trữ các đường dẫn với tùy chọn -j
/ --junk-paths
.
Các zip
lệnh đi kèm với tài liệu hướng dẫn nói cho bạn về tất cả (nhiều) tùy chọn của nó; gõ man zip
để xem tài liệu đó. Đây không phải là duy nhất cho zip; bạn có thể lấy tài liệu cho hầu hết các lệnh theo cách này.
zip myarch.zip mydir/*
chưa?