rsyncターゲットの背後にスラッシュを追加するのはなぜですか?

rsyncターゲットの背後にスラッシュを追加するのはなぜですか?

~によるとこれWeb ページで rsync ターゲットの末尾に「/」を追加すると、追加しない結果とは異なる結果が生成されます。

これをテストしてみましたが、確認できませんでした。

$ mkdir dir{1..3}
$ touch dir1/file
$ rsync -r dir1/ dir2
$ rsync -r dir1/ dir3/
$ ls dir*
dir1:
file

dir2:
file

dir3:
file

時々、ターゲットに「/」を追加するのは本当に便利ですか?

答え1

ソースがファイルで、ターゲットディレクトリが存在しない場合は影響します。たとえば、filesourceというファイルを使用します。

  • $ rsync file dest/fileディレクトリ内にコピーを作成しますdestが、
  • $ rsync file destfile名前付きファイルのコピーを作成します。dest

追加(コメントから)。ディレクトリがすでに存在する場合、上記のいずれdestの場合もfileコピーが作成されます。dest

基本例:

~/test > touch file
~/test > mkdir dest1
mkdir: created directory 'dest1'
~/test > tree
.
├── dest1
└── file

1 directory, 1 file
~/test > rsync file dest1
~/test > rsync file dest2
~/test > rsync file dest3/
~/test > tree
.
├── dest1
│   └── file
├── dest2
├── dest3
│   └── file
└── file

2 directories, 4 files
~/test >

関連情報