2015-11-05 64 views
0

我想將筆記本中的文件複製到計算實例。我可以將文件複製到不存在但在複製過程中創建的文件夾中嗎?在計算複製文件期間創建文件夾

例如: 我有一個文件index.php,我想將它複製到/ var/www/test 文件夾測試不存在。

當我運行一個命令:

gcloud compute copy-files index.php [email protected]:/var/www/test 

它不給任何錯誤。但是,當我使用SSH連接實例它顯示測試在/ var/WWW,但

cd /var/www/test 

給我:

-bash: cd: test: Not a directory 

如何創建一個目錄,然後複製一個文件?

回答

1

這是一組有趣的情況,導致令人驚訝的結果。要了解發生了什麼,瞭解gcloud compute copy-files命令在封面下運行scp命令很有用。

在這種情況下,scp命令會將/var/www/test解釋爲目標路徑。由於/var/www存在,但/var/www/test不存在,因此它會將test部分解釋爲要在遠程計算機上保存的文件的名稱。所以它會將index.php的內容複製到遠程機器上的一個名爲/var/www/test的文件中。

要獲得您想要的結果,您應該刪除該文件(使用rm /var/www/test),並創建一個目錄(使用mkdir /var/www/test)。如果你是從一臺新機器開始,你可以達到這樣的預期結果:

gcloud compute ssh [email protected] --command='mkdir /var/www/test' 
gcloud compute copy-files index.php [email protected]:/var/www/test 
+0

謝謝benson的幫助。 :) –

相關問題