rsync: โคลอนในชื่อไฟล์


23

นอกเหนือจากการเปลี่ยนชื่อไฟล์ก่อนฉันจะrsyncไฟล์ที่มีโคลอนในชื่อได้อย่างไร?


ตรวจสอบให้แน่ใจว่าคุณใช้อยู่dir/และไม่ได้dir/*อยู่ในอาร์กิวเมนต์ rsync
grawity

ปัญหาเกิดขึ้นเมื่อฉันrsyncจากฮาร์ดไดรฟ์ไปยังหน่วยความจำแฟลช:rsync: mkstemp "/media/verd/rence/.Using an expressive work: fact or fiction.pdf.RbjlKK" failed: Invalid argument (22) rsync: mkstemp "/media/verd/rence/.What's in a concept: structural foundations for semantic networks.pdf.tLXoZz" failed: Invalid argument (22)
嘉道

สำหรับผู้อ่านในอนาคตโปรดทราบว่าสิ่งนี้ขึ้นอยู่กับระบบไฟล์: ฮาร์ดไดรฟ์ทั่วไปของ Windows ที่มี NTFS ไม่สามารถมีไฟล์ได้:ตั้งแต่แรก
phil294

คำตอบ:


22

โคลอนเป็นพิเศษเฉพาะในองค์ประกอบไดเรกทอรีแรกของอาร์กิวเมนต์บรรทัดคำสั่ง ./ดังนั้นถ้าคุณมีสิ่งที่ดูเหมือนว่าเส้นทางญาติย่อหน้า

$ mkdir sou:rce
$ rsync -a sou:rce/ de:st/
The source and destination cannot both be remote.
$ rsync -av ./sou:rce/ ./de:st/
sending incremental file list
created directory ./de:st
./

ในสคริปต์:

case $source in
  /*) :;;
  *) source=./$source;;
esac
case $dest in
  /*) :;;
  *) dest=./$dest;;
esac
rsync "$source" "$dest"

ขอบคุณ Guilles ปัญหาเกิดขึ้นเมื่อฉันrsyncจากฮาร์ดไดรฟ์ไปยังหน่วยความจำแฟลช:rsync: mkstemp "/media/verd/rence/.Using an expressive work: fact or fiction.pdf.RbjlKK" failed: Invalid argument (22) rsync: mkstemp "/media/verd/rence/.What's in a concept: structural foundations for semantic networks.pdf.tLXoZz" failed: Invalid argument (22)
嘉道

3
@Kejia 柯嘉: อ่าโอเคปัญหาของคุณคือการเปลี่ยนชื่อและ -sync- ไม่ผ่านโคลอนเพื่อ rsync คำถามนี้เกิดขึ้นก่อนหน้านี้ในเว็บไซต์ Ubuntu: ฉันจะแทนที่โคลอนเมื่อฉัน rsync บนคีย์ USB ได้อย่างไร น่าเสียดายที่ไม่มีใครสร้างคำตอบที่น่าพอใจ
Gilles 'หยุดความชั่วร้าย'
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.