Answers:
第一条匹配规则适用,因此.htaccess
在排除之前先包含.*
。
rsync -avP --include=".htaccess" --exclude=".*" . user@server:/dir
这会.htaccess
在每个级别进行复制。我不知道你打算什么./.htaccess
; 如果您只想匹配副本根目录下的文件,请以开头/
。如果只需要root .htaccess
,就不能只使用--include='/.htaccess' --exclude='.*'
,因为非rooted规则实际上在这里优先,因此您需要做一些更复杂的事情:
rsync -avP --exclude='/*/**/.htaccess' --include='.htaccess' --exclude=".*" . user@server:/dir
进一步阅读:rsync过滤器的基本原理。
--include
一个放在首位,但是将“ ./.htaccess”前面的“ ./”杀死了。