Global rsync
aturan filter yang diawali dengan terkemuka /
yang berlabuh ke akar transfer. Mengutip dari bagian "INCLUDE / EXCLUDE ATURAN" halaman manual:
jika polanya dimulai dengan a / maka ia berlabuh ke tempat tertentu dalam hierarki file, jika tidak maka akan cocok dengan akhir pathname. Ini mirip dengan ^ dalam ekspresi reguler. Dengan demikian "/ foo" akan cocok dengan nama "foo" di "root transfer" (untuk aturan global) atau di direktori file gabungan (untuk aturan per-direktori).
Dalam perintah Anda ( rsync ... -arv /home/ben home-ben/
), file /home/ben/foo
akan ditransfer ke home-ben/ben/foo
. Akar transfer adalah home-ben
dan jalur filter yang benar adalah /ben/foo
. Demikian,
- untuk mencocokkan
/home/ben/.ccache
Anda memerlukan jalur filter/ben/.ccache
- untuk mencocokkan
/home/ben/build/
Anda memerlukan jalur filter/ben/build/
Penjelasan lebih rinci dapat ditemukan di bagian "POLA YANG TERMASUK / TERMASUK" di rsync(1)
halaman manual .
Perhatikan bahwa meninggalkan pemimpin saja /
tidak selalu seperti yang Anda inginkan. Mengutip lagi dari bagian halaman manual yang sama:
"Foo" yang tidak memenuhi syarat akan cocok dengan nama "foo" di mana saja di pohon karena algoritma diterapkan secara rekursif dari atas ke bawah; itu berperilaku seolah-olah setiap komponen jalur mendapat giliran menjadi akhir nama file. Bahkan "sub / foo" yang tidak dikunci akan cocok pada titik mana pun dalam hierarki di mana "foo" ditemukan dalam direktori bernama "sub". Lihat bagian pada POLA YANG TERMASUK ANCORING / EXCLUDE untuk diskusi lengkap tentang cara menentukan pola yang cocok dengan akar transfer.
Dengan demikian pola filter build/
akan cocok dengan direktori build di mana saja /home/ben
, bahkan /home/ben/many/sub/directories/build/
.