[问题]
今天发现需要scp 线上某个文件到远程的某一台机器上 scp a:b*.conf host:path 发现如果文件中带有 : 冒号的话, 系统会提示:
Name or service not known ,
看来scp/rsync 会报 : 之前的字符串当做一个 host. 之前rd 给的建议是进入上层pack一下, 然后发送过去解压,
今天终于受不了了, 怎么可能那么傻瓜 ?
google 一下发现果然有解.
http://www.mikkelsen.tv/simon/blog/index.php/2008/01/09/how-to-scp-a-file-name-with-a-colon/
[答案]
答案就是 在文件之前加上 ./ , 上面的例子就是是 scp ./a:b*.conf host:path.
" That trick also helps if you have a file named
-
(yes, dash) or which starts with a dash (some programs don’t like that). "
看了这招对于文件名为 - 或者 -开头的文件也同样有效. 自己手工测试了一下 scp 对于文件名为- 的可以正常copy .
转载于:https://blog.51cto.com/20988902/1358736