เพิ่ม slash ต่อท้ายทำไมหลังจากปลายทาง rsync


13

ตามนี้หน้าเว็บเพิ่ม '/' ที่ส่วนท้ายของปลายทาง rsync ผลิตผลที่แตกต่างกันจากการไม่ได้เพิ่ม

ฉันพยายามทดสอบสิ่งนี้ แต่ฉันไม่สามารถยืนยันได้:

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

dir2:
file

dir3:
file

การต่อท้าย '/' ต่อท้ายปลายทางใช้งานได้จริงหรือไม่?


คุณหมายถึงส่วนนี้ของหน้าคน: A trailing slash on the source changes this behavior to avoid creating an additional directory level at the destination.? ถ้าเป็นเช่นนั้นโปรดทราบว่าคำสั่งของคุณไม่เหมือนกับคำสั่งในตัวอย่างที่ให้ไว้ใน man page
jesse_b

@Jesse_b ความคิดเห็นของคุณทำให้ฉันประหลาดใจ ... "เมื่อใช้" / "ที่จุดสิ้นสุดปลายทาง rsync จะวางข้อมูลไว้ในโฟลเดอร์สุดท้ายเมื่อไม่ได้ใช้" / "ที่ปลายทางปลายทาง rsync จะสร้างโฟลเดอร์ที่มี ชื่อโฟลเดอร์ปลายทางสุดท้ายและวางข้อมูลภายในโฟลเดอร์นั้น "
Hauke ​​Laging

@HaukeLaging ฉันสับสนสิ่งที่น่าแปลกใจ? ส่วนนี้โดยเฉพาะหมายถึงเครื่องหมายสแลชต่อท้ายบนแหล่งที่มา ดังนั้นถ้าคุณทำrsync -r dir1/subdir1 dir2/มันจะคัดลอกเนื้อหาของsubdir1ลงในdir2แต่ถ้าคุณทำrsync -r dir1/subdir1/ dir2/มันจะคัดลอกไดเรกทอรีทั้งหมด (รวมถึงเนื้อหา) subdir1ลงไปdir2ดังนั้นคุณจะได้./dir2/subdir1/
jesse_b

@Jesse_b ฉันไม่ได้สังเกตเห็น "คน" ในความคิดเห็นแรกของคุณ ค่อนข้างชัดเจนว่า OP ไม่ได้อ้างถึงหน้าคน แต่ไปยังหน้าที่เชื่อมโยง
Hauke ​​Laging

@HaukeLaging โอ้ดานไม่เห็นด้วยซ้ำ ฉันคิดว่าฉันอ่านเร็วเกินไปและอ่านว่า "อ้างอิงจากหน้าคน"
jesse_b

คำตอบ:


28

มันสร้างความแตกต่างเมื่อแหล่งที่มาเป็นไฟล์และไม่มีไดเรกทอรีปลายทาง เช่นนำไฟล์ที่เรียกว่าfileเป็นแหล่งที่มา:

  • $ rsync file dest/จะสร้างสำเนาของfileภายในไดเรกทอรีdestในขณะที่
  • $ rsync file destจะทำสำเนาไฟล์ที่fileเรียกว่า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 >

1
ขอบคุณ. ดังนั้นหากไดเรกทอรีdestมีอยู่แล้วไม่จำเป็นต้องใช้เครื่องหมายทับต่อท้าย?
EmmaV

เผง หากในตัวอย่างด้านบนมีไดเร็กทอรีdestอยู่สำเนาของfileจะถูกสร้างขึ้นภายในทั้งสองกรณี
resc
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.