ファイルやディレクトリの同期ツールとして非常に人気のあるrsync
ですが、コマンドの使用時にSRCの終端にスラッシュをつけるかつけないかで、動作に違いが出ます。この点は初心者にとって混乱の元となりがちです。
rsync
のSRCスラッシュの有無は、mv SRC DEST
とmv SRC/* DEST
の違いと一緒と考えるとわかりやすいです。つまり、スラッシュの後ろに*
が省略されているものと考えることができます。
具体的には、スラッシュがある場合、SRCディレクトリの中身がコピーされ、スラッシュがない場合、SRCディレクトリ自体がコピーされます。
一方、コピー先のスラッシュの有無は基本的に影響しません。例として、rsync -av src/ dst/src
とrsync -av src/ dst/src/
は同じ動作をします。
このような微妙な違いを理解しておくことで、意図しないディレクトリ構造でのコピーを避けることができ、rsync
をより効果的に活用することができます。