rsync:文件名中的冒号


23

除了首先重命名文件外,我如何命名rsync可能带有冒号的文件?


确保您正在使用dir/而不是dir/*rsync参数。
grawity

当我从硬盘驱动器同步到闪存棒时,就会发生问题: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)
象嘉道

对于未来的读者,也请注意,这是依赖于文件系统:使用NTFS Windows的典型的硬盘驱动器不能含有与文件:摆在首位
phil294

Answers:


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"

谢谢,吉尔斯。当我从硬盘驱动器同步到闪存棒时,就会发生问题: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柯嘉:好的,您的问题是重命名和rsync,而不是将冒号传递给rsync。之前在Ubuntu站点上出现过这个问题:在USB密钥上同步时,如何替换冒号?不幸的是,没有人给出令人满意的答案。
吉尔(Gilles)'所以
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.