oya*_*163 17 google-compute-engine google-cloud-platform
我正在尝试使用以下命令将文件从我的实例复制到我的本地目录
gcloud compute scp <instance-name>:~/<file-name> ~/Documents/
Run Code Online (Sandbox Code Playgroud)
但是,它显示如下所述的错误
$ USER/Documents /:是一个目录
错误:(gcloud.compute.scp)[/ usr/bin/scp]退出并返回代码[1].
从本地目录复制到GCE工作正常.
我也检查过斯坦福大学的教程和谷歌的文档.
我有另一个例子,没有这样的问题.
我有点相信它可能是SSH密钥的问题.
可能出了什么问题?
Tux*_*ude 19
当您将文件从Google Compute Engine VM复制到本地计算机时,您在问题中发布的命令对我有用.
$ gcloud compute scp vm1:~/.bashrc ~/Documents/
.bashrc 100% 3515 3.4KB/s 00:00
Run Code Online (Sandbox Code Playgroud)
我也尝试从其他方面(即从我的本地机器到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
Run Code Online (Sandbox Code Playgroud)
gcloud
依赖scp
于您的可执行文件PATH
.您提供给gcloud scp
命令的参数将传递给scp
二进制文件.假设您的源和目标路径是正确的,它应该工作.
scp
根据您的特定错误消息,我已经看到只有当您尝试从中复制的源路径是目录而不是文件时才会出现变体.对于这种特殊情况,您可以传递一个--recurse
参数(类似于-r
常规支持的参数scp
),该参数将递归复制指定目录下的所有文件和目录.
gcloud compute scp --recurse SRC_PATH DEST_PATH
一切都很完美,除了我试图在连接到GCE的终端而不是本地终端上运行这些命令。
oyashi@oyashi-torch-instance:~$ gcloud compute scp oyashi-torch-instance:~/spring1617_assignment1.zip ~/Documents/
Run Code Online (Sandbox Code Playgroud)
/ home / oyashi / Documents /:是目录错误:(gcloud.compute.scp)[/ usr / bin / scp]退出,返回码为[1]。
但是,当我在本地终端上尝试此操作时。这发生过。
oyashi@oyashi:~/Documents$ gcloud compute scp oyashi-torch-instance:~/spring1617_assignment1.zip ~/Documents/
Run Code Online (Sandbox Code Playgroud)
spring1617_assignment1.zip 100%42KB 42.0KB / s 00:00
谢谢大家的评论和帮助。我从一开始就知道这是一个愚蠢的错误。但是我发布了这个答案,以便其他人可以从我的愚蠢中学习。
小智 8
要将文件从VM复制到您的桌面,您可以简单地通过SSH到VM,并在右上角有一个设置按钮,您会在其中找到download file选项,只需输入文件路径即可。
如果是文件夹,则首先压缩该文件夹,然后下载。
如果您需要传递区域信息、项目名称,您可能会喜欢这样做,因为它对我有用:实例名称是您在 GCP 实例中选择的名称。
gcloud beta compute scp --project "project_name" --zone "zone_name" instance_name:~jupyter/file_name /home/Downloads
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
29727 次 |
最近记录: |