GCP将文件从我的本地机器复制到GCP Vm。

问题描述 投票:1回答:1

我正在将我的文件从本地机器复制到谷歌虚拟机。

我目前使用本地机器的SSH连接访问谷歌虚拟机。

以下是命令。

gcloud compute scp ~/Desktop/testing.png  dms-2:~/testing --internal-ip --zone=us-west1-b

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    19  100    19    0     0   2100      0 --:--:-- --:--:-- --:--:--  2375
testing.png                                                                                                                                                               100%  133KB  19.1KB/s   00:06 

但是,当我做我的谷歌虚拟机上的ls什么都没有出现。

s0p04bp@dms-2:~$ cd /usr/lib/testing/
s0p04bp@dms-2:/usr/lib/testing$ ls
s0p04bp@dms-2:/usr/lib/testing$ pwd
/usr/lib/testing
s0p04bp@dms-2:/usr/lib/testing$ 

不知道为什么它不显示在我的谷歌虚拟机?

google-cloud-platform virtual-machine gcloud
1个回答
1
投票

看起来你是把文件复制到了错误的目录。

斜杠(~)是Linux的 "快捷方式",用来表示用户的主目录。因此,斜杠(~)是指向用户主目录下的文件或目录的路径的开头。

https:/twiki.orgcgi-binviewWikilearnTildeSlash

如果你想 testing.png 出现在目录内 /usr/lib/testing/,最终成为 /usr/lib/testing/testing.png 你应该把它复制到那里。我也会把我连接的用户具体到GCP实例上。

下一个例子将工作,假设 /usr/lib/testing/ 文件夹存在于远程实例上,并且具有正确的权限。由于 /usr/lib 通常只有root用户可以编辑。

gcloud compute scp ~/Desktop/testing.png  s0p04bp@dms-2:/usr/lib/testing/ --zone=us-west1-b

如果文件夹不存在,你需要先创建它,并赋予它正确的权限。

gcloud compute ssh s0p04bp@dms-2 zone=us-west1-b --command "sudo mkdir -p /usr/lib/testing && sudo chown s0p04bp:s0p04bp /usr/lib/testing"
© www.soinside.com 2019 - 2024. All rights reserved.