我尝试通过 ssh
和 scp
将一个文件夹从我的本地计算机传输到服务器。在获得了 sudo
权限之后,我使用以下命令:
scp -r C:/desktop/myfolder/deployments/ user@host:/path/to/whereyouwant/thefile
然而,我遇到了以下错误:
ssh: C:名称或服务未知
我猜这是由于我的语法中包含了 C:/desktop
等内容。有任何想法吗?
顺便说一下,我正在使用 Putty 和 Windows 7。
scp -r \desktop\myfolder\deployments\ user@host:/path/to/whereyouwant/thefile
。请注意不要带驱动器字母且使用反斜杠代替正斜杠。scp
?如果你使用的是Cygwin的 scp
,你可以将路径设置为 /cygdrive/d/test
。为了避免使用 /cygdrive
,你可以运行 mount --change-cygdrive-prefix /
命令,这样路径就会变成 /d/test
。 - Serkan Yilmaz驱动器字母可以在目标位置中使用
scp some_file user@host:/c/temp
其中c
是驱动器盘符,它被视为目录。
或许这也适用于源文件。
user@host:/
是我 C:\
目录的根目录。因此,如果我写 user@host:/temp/
,它等同于 C:\temp\
。
我只能访问我的 C
驱动器,不能访问其他驱动器。 - imans77e:
,它就不会工作;-) 这就是我的情况,也是我发现这个问题的原因。 - Jasonscp some_file user@host:/C:/TEMP
- jaguildscp 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
另外,针对你的特定情况,我 echo Cornel 的建议:
在 Windows 上,在传统的命令控制台中使用反斜杠。
祝好。 RocketCityElectromagnetics
scp -r /cygdrive/c/desktop/myfolder/deployments/ user@host:/path/to/whereyouwant/thefile
我发现在Windows上使用图形界面最容易(我推荐mobaXTerm,它具有ssh、scp、ftp、远程桌面等许多功能),但如果您坚持使用命令行,我建议先进入源文件夹所在的目录,然后执行以下命令:
scp -r yourFolder username@server:/path/to/dir
-r
表示递归用于目录。
驱动器字母可以在源中使用,例如:
scp /c/path/to/file.txt user@server:/dir1/file.txt
cp: cannot stat ‘/c/Users/xxx/Documents/rocket.chat/priv-key.ppk’: No such file or directory
- The Onin
ssh
连接到目标,也可以在源目录下执行dir
命令。 - motorbaby