如何 scp 帶空格的檔名?

如何 scp 帶空格的檔名?

scp我在使用從遠端電腦傳輸文件時遇到了一些困難。該問題顯然與檔案所在目錄的名稱photos 4有關。當我嘗試傳輸時,我使用了以下命令:photos4

scp [remote username]@192.168.1.X:/media/[remote username]/photos\ 4/file.jpg /home/[username]/Pictures

但是,我收到一條錯誤訊息回傳說No directory: /media/[remote username]/photos。我認為反斜線會轉義空格,以便目錄被讀取為photos 4.

有人可以告訴我我在這裡做錯了什麼嗎?

(順便說一句,我複製了file.jpg遠端電腦的桌面,然後執行命令:

scp [remote username]@192.168.1.X:/home/[remote username]/Desktop/file.jpg /home/[username]/Pictures

它起作用了,因此轉義序列似乎是罪魁禍首。我只是不明白這有什麼問題。

答案1

目錄或檔案名稱中的空格是 Linux 系統的天敵,但當然可以逃脫了盡職調查。您可以嘗試 3 種可能性:

  1. scp [remote username]@192.168.1.X:"'/media/remote_username/photos 4/file.jpg'" .
  2. scp [remote username]@192.168.1.X:"/media/remote_username/photos\ 4/file.jpg" .
  3. scp [remote username]@192.168.1.X:/media/remote_username/photos\\\ 4/file.jpg .

一切都應該有效,但有些在語法上比其他更容易理解...

參考:

答案2

這是針對 ZSH 用戶的修復,

  1. SCP'[電子郵件受保護]:/media/"照片 4"/file.jpg' /home/使用者名稱/圖片
  2. SCP'[電子郵件受保護]:/media/"照片 4"/"帶空格的檔案.jpg"' /home/使用者名稱/圖片

相關內容