我正在尝试使用以下命令将文件从我的实例复制到我的本地目录
gcloud compute scp <instance-name>:~/<file-name> ~/Documents/
但是,它显示如下错误$USER/Documents/: Is a directory
ERROR: (gcloud.compute.scp) [/usr/bin/scp] exited with return code [1].
从本地目录复制到 GCE 工作正常。
我也检查了斯坦福的教程和谷歌的文档。
我还有另一个例子,没有这样的问题。
我有点相信这可能是 SSH key 的问题。
可能出了什么问题?
最佳答案
如果源路径和目标路径正确,则命令正确
将文件从 Google Compute Engine VM 复制到我的本地计算机时,您在问题中发布的命令对我有用。
$ gcloud compute scp vm1:~/.bashrc ~/Documents/
.bashrc 100% 3515 3.4KB/s 00:00
我还尝试从另一端(即从我的本地机器到 GCE VM)进行复制,并且它有效:
$ gcloud compute scp ~/Documents/.bashrc vm1:~/temp/
.bashrc 100% 3515 3.4KB/s 00:00
$ gcloud compute scp ~/Documents/.bashrc vm1:~/.bashrc-new
.bashrc 100% 3515 3.4KB/s 00:00
gcloud
依赖于 scp
可执行文件存在于您的 PATH
.您提供给 gcloud scp
的参数命令被传递到 scp
二进制。假设您的源路径和目标路径是正确的,它应该可以工作。使用
scp
进行递归复制但是,根据您的特定错误消息,我已经看到只有当您尝试从中复制的源路径是目录而不是文件时才会出现这种变化。对于这种特殊情况,您可以传递
--recurse
参数(类似于常规 -r
支持的 scp
参数),它将递归复制指定目录下的所有文件和目录。gcloud compute scp --recurse SRC_PATH DEST_PATH
关于google-cloud-platform - 如何将文件从谷歌计算引擎复制到本地目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44982313/