Command-Line

當我通過 scp 將文件傳輸到 Windows 主機時,為什麼使用定義的路徑作為文件名?

  • March 11, 2016

當嘗試使用 SCP 將文件從 Linux(準確地說是 Raspbian,儘管我認為這並不重要)複製到 Windows 時:

scp a.txt {user}@{ip}:\C\Users\{user}\a.txt

該文件被複製,但到C:\Users\{user}\CUsers{user}a.txt.

看起來我需要以某種方式逃避“\”,但不知道如何。

雖然我從未scp在 Windows 上使用過,所以我只是猜測,看起來反斜杠肯定被忽略了。或者,更確切地說,好像它們被視為轉義字元,並且由於它們沒有轉義任何相關內容,因此被忽略。考慮一下,在 Linux 機器上:

$ cd \usr\share
bash: cd: usrshare: No such file or directory

正如您所看到的,\就像您在上面描述的那樣,被忽略並且路徑連接到單個字元串。

的預設目標位置scp是使用者的主目錄。既然是\C\Users\userName,您嘗試為文件名(\C\Users\userName\a.txt變成CUsersuserNamea.txt)指定路徑,並且文件以該名稱保存在預設位置:C:\Users\userName\CUsersuserNamea.txt

在這種情況下,一個簡單的解決方案是不指定路徑:

scp a.txt user@ip:

引用自:https://unix.stackexchange.com/questions/269111