Intereting Posts

scp / path / to / local / file myusername@server.com создает новый файл в локальном каталоге?

scp работал нормально, но теперь, когда я это делаю

$ scp /path/to/local/file myusername@servername.com 

он не запрашивает мой пароль, но ничего не возвращает сразу, и в каталоге создается новый файл с именем «myusername@servername.com».

Кроме того, у меня нет проблем с ssh на сервере, он запрашивает мой пароль, и я могу войти в систему успешно.

 $ ssh myusername@servername.com 

Я сделал некоторую конфигурацию, чтобы настроить VIM как IDE для C ++ в выходные, так что, возможно, я что-то испортил? Я также создал новую среду anaconda для запуска Python3, если эта информация поможет.

Вам нужно указать scp который вы копируете на удаленный, используя : и (необязательно) путь к цели:

 scp /path/to/local/file myusername@servername.com:/path/to/remote 

Если вы просто укажете : он будет использовать путь по умолчанию, возможно, домашний каталог myusername на servername.com :

 scp /path/to/local/file myusername@servername.com: 

(Спасибо Стивену Харрису за указание, что удаленный путь является необязательным.)

Поскольку scp может использоваться для копирования файлов на сервер или с сервера, в программе используется наличие : для определения способа отправки. Без a : нет имени хоста, и поэтому предполагается, что оба файла являются локальными.

Так

 scp xa@b 

будет обрабатывать как x и a@b как локальные файлы.

Вам не нужно указывать целевой путь, но вам нужно :

 scp xa@b: 

Если указан путь не указан, он будет использовать каталог по умолчанию (обычно удаленный $HOME ), как если бы вы указали a@b:.

По умолчанию scp предполагает, что вам нужен локальный файл, если вы не укажете, где вы хотите, чтобы файл на удаленном сервере :

Например, scp /path/to/local/file myusername@servername.com:./ сделает то, что вы намереваетесь: создать файл в каталоге по умолчанию myusername на servername.com называется file с содержимым /path/to/local/file на вашем компьютере.