rsync: dấu hai chấm trong tên tệp


22

Khác với việc đổi tên các tập tin trước, làm cách nào tôi rsynccó thể có các dấu hai chấm trong tên của chúng?


Hãy chắc chắn rằng bạn đang sử dụng dir/và không dir/*trong các đối số rsync.
grawity

Vấn đề xảy ra khi tôi rsync từ ổ cứng sang thẻ nhớ flash: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)

Đối với những người đọc trong tương lai, xin lưu ý rằng đây là phụ thuộc vào hệ thống tệp: Ổ cứng điển hình của Windows có NTFS không thể chứa tệp :ở vị trí đầu tiên
phil294

Câu trả lời:


21

Dấu hai chấm chỉ đặc biệt trong thành phần thư mục đầu tiên của đối số dòng lệnh. Vì vậy, nếu bạn có những gì trông giống như một đường dẫn tương đối, hãy thêm vào ./.

$ 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
./

Trong một kịch bản:

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

Cảm ơn bạn, Guilles. Vấn đề xảy ra khi tôi rsync từ ổ cứng sang thẻ nhớ flash: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: Ah, ok, vấn đề của bạn là đổi tên-và-rsync, không chuyển các dấu hai chấm sang rsync. Câu hỏi này đã xuất hiện trước đây trên trang Ubuntu: Làm cách nào tôi có thể thay thế dấu hai chấm khi tôi rsync trên khóa USB? Thật không may, không ai tạo ra một câu trả lời thỏa mãn.
Gilles 'SO- ngừng trở nên xấu xa'
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.