rsync -rを既存のフォルダに

rsync -rを既存のフォルダに

これを実行すると:

rsync -r /a/b/c /a/d/e

私はこれを得るでしょう:

/a/d/e/c

しかし、私が探しているのは:

/a/d/e

これで問題は解決しません。

rsync -r /a/b/c/* /a/d/e

これは、ドットファイル(隠しファイル)をスキップするためです。この問題をどのように解決しますか?既存のディレクトリ(この場合はe?)というフォルダにコピーします。

答え1

rsyncソースが末尾の文字列で終わると、異なる方法で処理されます/

  • 末尾/rsync -r source/ target

    結果:targetコピーが作成されましたsource

  • 末尾なし/:rsync -r source target

    結果:target/sourceコピーが作成されましたsource

マニュアルにはrsync次のように言及されています。

/ソースの末尾を「名前によるディレクトリのコピー」ではなく「このディレクトリの内容のコピー」と考えることができますが、どちらの場合も、インクルードディレクトリの属性がターゲットのインクルードディレクトリに送信されます。

答え2

非常に近い...

$ rsync -r /a/b/c/ /a/d/e/

関連情報