因此,我试图通过ssh和scp将文件的文件夹从本地计算机传输到服务器。 sudoing后,我使用如下命令:
scp -r C:/desktop/myfolder/deployments/ user@host:/path/to/whereyouwant/thefile
我收到错误:
ssh:C:名称或服务未知
我猜它是c:/desktop
等的语法。有什么想法吗?
顺便说一句,我正在使用腻子+ Windows 7。
如果驱动器号为C,则应该可以使用
scp -r \desktop\myfolder\deployments\ user@host:/path/to/whereyouwant/thefile
没有驱动器号和反斜杠,而不是正斜杠。
您正在使用腻子,因此可以使用pscp。它更适合Windows。
驱动器号可以在目标中使用,例如
scp some_file user@host:/c/temp
其中c
是驱动器号。它被视为目录。
也许这也适用于源代码。
在Windows上,您可以使用winSCP使用scp的图形界面。一个很好的免费软件,可实现SFTP protocol。
您也可以尝试以下方法:
scp -r /cygdrive/c/desktop/myfolder/deployments/ user@host:/path/to/whereyouwant/thefile
我看到这篇文章很旧,但是在寻找这个问题的答案时,我无法从广阔的互联网超级高速公路中找到解决方案。因此,我希望我能为某个人做出自己的贡献而有所帮助,因为他们也会为寻求答案而绊脚石。这个简单,自然的问题似乎没有任何地方记录。
在连接到Windows 10 Pro的Windows 10 Pro(均运行OpenSSH(Windows版本7.7p1,LibreSSL 2.6.5)上,我能够通过反复试验找到解决方案。尽管非常简单,但还是花了一段时间。我发现所需的语法是
通过示例代替更多的晦涩和不完整的模板:
从远程系统安全地传输到本地系统:
scp user@remotehost:\D\mySrcCode\ProjectFooBar\somefile.cpp C:\myRepo\ProjectFooBar
或反过来:
scp C:\myRepo\ProjectFooBar\somefile.cpp user@remotehost:\D\mySrcCode\ProjectFooBar
我还发现,如果路径中有空格,则引号应以远程主机名开头:
scp user@remotehost:"\D\My Long Folder Name\somefile.cpp" C:\myRepo\SimplerNamerBro
此外,对于您的特殊情况,我回应科奈尔所说的话:
在Windows上,至少在常规命令控制台上使用反斜杠。
致谢。RocketCityElectromagnetics
我发现最简单的方法是在Windows上使用图形界面(我建议mobaXTerm它具有ssh,scp,ftp,远程桌面等),但是如果您在命令行上设置,则建议使用cd'带有源文件夹的目录,然后scp -r yourFolder username@server:/path/to/dir
[-r
表示要在目录上使用递归]
驱动器号可以在源代码中使用,例如
scp /c/path/to/file.txt user@server:/dir1/file.txt