Küresel rsync
bir öncülüğünde başlayan filtre kuralları /
vardır demirlemiş transferi köküne. Man sayfasının "INCLUDE / EXCLUDE DESEN KURALLARI" bölümünden alıntı:
eğer desen / ile başlarsa, o zaman dosya hiyerarşisinde belirli bir noktaya tutturulur, aksi halde yol adının sonuna karşı eşleştirilir. Bu, düzenli ifadelerde baştaki ^ ifadesine benzer. Bu nedenle "/ foo", "aktarımın kökü" nde (genel bir kural için) veya birleştirme dosyasının dizininde (dizin başına bir kural için) "foo" adıyla eşleşir.
Komutunuzda ( rsync ... -arv /home/ben home-ben/
) dosya /home/ben/foo
aktarılacaktır home-ben/ben/foo
. Aktarımın kökü home-ben
ve doğru filtre yolu /ben/foo
. Böylece,
- uygun
/home/ben/.ccache
bir filtre yoluna ihtiyacınız var/ben/.ccache
- uygun
/home/ben/build/
bir filtre yoluna ihtiyacınız var/ben/build/
Daha ayrıntılı bir açıklama, rsync(1)
man sayfasının "DAHİLİ DAHİL / DAHİLİ HATALAR" bölümünde bulunabilir .
Sadece liderliği dışarıda /
bırakmanın mutlaka istediğin şey olmadığını unutmayın. Aynı man sayfa bölümünden tekrar alıntı yapmak:
Niteliksiz bir "foo", ağacın herhangi bir yerinde "foo" adıyla eşleşir, çünkü algoritma tekrarlı bir şekilde yukarıdan aşağıya uygulanır; Her path bileşeni dosya adının sonunda bir dönüş alır gibi davranır. Bağlantısız "sub / foo" bile "sub" adlı bir dizinde bir "foo" bulunan hiyerarşideki herhangi bir noktada eşleşir. Aktarımın kökünde eşleşen bir kalıbı nasıl belirleyeceğinize dair tam bir tartışma için DAHİLİ DAHİLİ / DAHİLİ PATTERLER bölümüne bakın.
Böylece bir filtre deseni build/
bir yapı dizin hiçbir yerinde eşleşecektir /home/ben
bile, /home/ben/many/sub/directories/build/
.