これを実行すると:
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/