如何使用 scp 复制带有特殊字符的文件?

如何使用 scp 复制带有特殊字符的文件?

我正在尝试复制一个包含冒号和句点的文件,例如:

scp "test.json-2014-08-07T11:17:58.662378" remote:tmp/

scp test.json-2014-08-07T11\:17\:58.662378 remote:tmp/

以及与文件的组合:

scp "file:///home/.../test.json-2014-08-07T11:17:58.662378" remote:tmp/

我的猜测是 scp 尝试将文件的部分内容解释为服务器和/或端口号。我该如何避免这种情况?

如果我将文件重命名为 test.json 那么scp test.json remote:tmp/工作正常,但甚至不起作用scp test*62378 remote:tmp/

答案1

./在文件名之前使用:

scp ./test.json-2014-08-07T11:17:58.662378 remote:tmp/

这让scp知道这是一个文件。如果没有它,scp则由于冒号而认为它是主机名。

答案2

./通过前置并转义您的路径来使用路径:。赛博蒂有更多信息。例子:

scp ./file\:with\:colons.txt remoteserver:

答案3

显然,我没有尝试带有路径前缀的这个版本:

scp /home/.../test.json-2014-08-07T11\:17\:58.662378 remote:tmp/

这也有效:

scp ./test.json-2014-08-07T11\:17\:58.662378 remote:tmp/

https://twitter.com/h0pbeat/status/497319751031353344http://www.cyberciti.biz/faq/rsync-scp-file-name-with-colon-punctuation-in-it/谢谢。

(正如上述用户在我之前设法回答的那样)

相关内容