rsync(1)
に記述されています マンページ:
ソースの末尾のスラッシュは、この動作を変更して、宛先で追加のディレクトリ レベルを作成しないようにします。 /
の末尾を考えることができます ソースでは、「ディレクトリを名前でコピーする」のではなく、「このディレクトリの内容をコピーする」ことを意味しますが、どちらの場合も、含まれるディレクトリの属性は、宛先の含まれるディレクトリに転送されます。つまり、次の各コマンドは、/dest/foo
の属性の設定を含め、同じ方法でファイルをコピーします。 :
rsync -av /src/foo /dest
rsync -av /src/foo/ /dest/foo
目的地に関しては、大きな影響はないと思います。ソースがファイルで宛先が存在しない場合は違いがあります — これは SRC
のコピーを作成します DEST
と呼ばれる :
rsync SRC DEST
、一方、これはディレクトリ DEST
を作成します SRC
をコピーします ファイルに入れます:
rsync SRC DEST/
Arch Linux の rsync 3.1.3 でテストしました。結果は以下のとおりです:
1. rsync -avPzu test [email protected]:/home/login/test "test" directory is copied inside of existing "test" on remote (structure is then test/test/...)
2. rsync -avPzu test [email protected]:/home/login/test/ same as above
3. rsync -avPzu test/ [email protected]:/home/login/test content of "test" directory is synchronized with the remote "test" directory
4. rsync -avPzu test/ [email protected]:/home/login/test/ same as above
5. rsync -avPzu test [email protected]:/home/login/ same as above
6. rsync -avPzu test [email protected]:/home/login same as above
この場合、受け入れられている回答とは対照的に、方法 3 ~ 6 が正しい方法です。