Command-Line
當我通過 scp 將文件傳輸到 Windows 主機時,為什麼使用定義的路徑作為文件名?
當嘗試使用 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: