Как мне scp-изображение имени файла с пробелами?

Как мне scp-изображение имени файла с пробелами?

У меня возникли небольшие трудности с использованием scpдля передачи файлов с удаленного компьютера. Проблема, по-видимому, связана с именем каталога, в котором находятся файлы. Они находятся на CD-приводе под названием photos 4(с пробелом между photosи 4). Когда я попытался выполнить передачу, я использовал следующую команду:

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. УПП '[email protected]:/media/"photos 4"/file.jpg' /home/username/Pictures
  2. УПП '[email protected]:/media/"photos 4"/"file with space.jpg"' /home/username/Pictures

Связанный контент