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

Fin*_*sen 12 scp

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

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

scp test.json-2014-08-07T11\:17\:58.662378 remote:tmp/
Run Code Online (Sandbox Code Playgroud)

以及与文件的组合:

scp "file:///home/.../test.json-2014-08-07T11:17:58.662378" remote:tmp/
Run Code Online (Sandbox Code Playgroud)

我的猜测是 scp 试图将文件的一部分解释为服务器和/或端口号。我该如何避免?

如果我将文件重命名为 test.json 则scp test.json remote:tmp/可以正常工作,但甚至无法scp test*62378 remote:tmp/正常工作。

cuo*_*glm 21

./在文件名前使用:

scp ./test.json-2014-08-07T11:17:58.662378 remote:tmp/
Run Code Online (Sandbox Code Playgroud)

这使scp知道它是一个文件。没有它,scp由于冒号,认为它是一个主机名。


Kar*_*rlo 6

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

scp ./file\:with\:colons.txt remoteserver:
Run Code Online (Sandbox Code Playgroud)

  • 你不需要逃避冒号。 (2认同)