Câu trả lời:
Quy tắc kết hợp đầu tiên được áp dụng, vì vậy bao gồm .htaccess
trước khi loại trừ .*
.
rsync -avP --include=".htaccess" --exclude=".*" . user@server:/dir
Bản sao này .htaccess
ở mọi cấp độ. Tôi không biết bạn dự định làm gì ./.htaccess
; nếu bạn chỉ muốn khớp một tệp ở gốc của bản sao, hãy bắt đầu mẫu bằng a /
. Nếu bạn chỉ muốn root .htaccess
, bạn không thể sử dụng --include='/.htaccess' --exclude='.*'
, bởi vì quy tắc không root thực sự được ưu tiên ở đây, bạn cần phải làm một cái gì đó phức tạp hơn:
rsync -avP --exclude='/*/**/.htaccess' --include='.htaccess' --exclude=".*" . user@server:/dir
Đọc thêm: các nguyên tắc cơ bản cho bộ lọc rsync .
--include
đầu tiên, nhưng "./" ở phía trước "./.htaccess" là thứ đã giết chết nó.
.htaccess
tệp, bạn sẽ phải --include='.*/'
(tôi nghĩ) trước trận chung kết --exclude
, xem thêm tại đây