【问题标题】:GCP Copying File from my local Machine to GCP VmGCP 将文件从我的本地机器复制到 GCP Vm
【发布时间】:2020-08-23 19:54:52
【问题描述】:

我正在将我的文件从本地机器复制到 Google VM 机器。

我目前使用本地计算机 SSH 连接访问 Google VM

下面是命令:

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 

但是当我在我的 Google VM 上执行 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$ 

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

【问题讨论】:

  • 看起来您将文件直接复制到主目录下。如果你进入虚拟机实例并在“s0p04bp@dms-2:~$”下运行“ls”,你会看到一个名为“testing”的目录吗?
  • 命令的结果是什么:sudo find / -n "testing.png"我使用 sudo 来防止在受保护目录上显示错误

标签: google-cloud-platform virtual-machine gcloud


【解决方案1】:

您似乎将文件复制到错误的目录。

波浪号 (~) 是一个 Linux “快捷方式”,用于表示用户的主目录。因此,波浪线斜线 (~/) 是用户主目录下的文件或目录路径的开头。

发件人:https://twiki.org/cgi-bin/view/Wikilearn/TildeSlash

如果您希望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"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-05
    • 1970-01-01
    • 2021-07-14
    • 2020-08-25
    • 1970-01-01
    • 2019-11-05
    • 1970-01-01
    • 2018-07-19
    相关资源
    最近更新 更多