rsync: dwukropek w nazwach plików

23

W inny sposób niż poprzez zmianę rsyncnazw plików, w jaki sposób mogę mieć pliki z dwukropkami w swoich nazwach?

象 嘉 道
źródło
Upewnij się, że używasz argumentów rsync, dir/a nie ich dir/*.
grawity
Problem występuje, gdy rsync z dysku twardego na kartę pamięci 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)
象 嘉 道
W przypadku przyszłych czytelników należy również pamiętać, że jest to zależne od systemu plików: dyski twarde typowe dla systemu Windows z systemem plików NTFS nie mogą :w pierwszej kolejności zawierać plików
phil294

Odpowiedzi:

22

Dwukropki są wyjątkowe tylko w pierwszym składniku katalogu argumentu wiersza poleceń. Więc jeśli masz coś, co wygląda jak ścieżka względna, dodaj ./.

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

W skrypcie:

case $source in
  /*) :;;
  *) source=./$source;;
esac
case $dest in
  /*) :;;
  *) dest=./$dest;;
esac
rsync "$source" "$dest"
Gilles „SO- przestań być zły”
źródło
Dziękuję, Guilles. Problem występuje, gdy rsync z dysku twardego na kartę pamięci 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 柯嘉: Ach, ok, twoim problemem jest zmiana nazwy -s-rsync, a nie przekazywanie dwukropków do rsync. To pytanie pojawiło się wcześniej na stronie Ubuntu: Jak mogę zastąpić dwukropki, kiedy rsync na kluczu USB? Niestety nikt nie udzielił satysfakcjonującej odpowiedzi.
Gilles „SO- przestań być zły”