scp /path/to/local/file [email protected] 在本地目录中创建一个新文件?

scp /path/to/local/file [email protected] 在本地目录中创建一个新文件?

scp 工作正常,但现在当我这样做时

$ scp /path/to/local/file [email protected]

它不会询问我的密码,但不会立即返回任何内容,并且会生成一个名为“的新文件”[电子邮件受保护]" 已在目录中创建。

另外,我没有问题 ssh 到服务器,它要求我输入密码,我可以成功登录。

$ ssh [email protected]

我周末做了一些配置,将 VIM 设置为 C++ 的 IDE,所以我可能弄乱了一些东西?如果这些信息有帮助的话,我还创建了一个新的 anaconda 环境来运行 Python3。

答案1

您需要告诉scp您正在复制到远程,:并使用(可选)目标上的路径:

scp /path/to/local/file [email protected]:/path/to/remote

如果您只是指定:它将使用默认路径,可能myusername是主目录servername.com

scp /path/to/local/file [email protected]:

(谢谢史蒂芬·哈里斯为了指出远程路径是可选的。)

答案2

因为scp可以用来复制文件服务器,或程序使用服务器的存在来:确定发送方式。没有 a:就没有主机名因此它假设这两个文件都是本地的。

所以

scp x a@b

会将xa@b视为本地文件。

你不需要指定目标路径,但您确实需要:

scp x a@b:

如果没有指定路径,那么它将使用默认目录(通常是远程目录$HOME),就像您指定的一样a@b:.

答案3

默认情况下,scp假定您需要本地文件,除非您使用:.

例如,将执行您想要的操作:在您的计算机上调用的默认目录中创建一个文件,其中包含 的内容。scp /path/to/local/file [email protected]:./myusernameservername.comfile/path/to/local/file

相关内容