Я посмотрел вокруг на другие вопросы здесь и на различные учебники "использования scp" в Интернете, но я не могу разобраться, что не так.
Я использую Linux Mint и пытаюсь понять, как работает scp .
У меня есть файл file.ext (на моем компьютере) в каталоге / home / name / dir /
Я подключаюсь к удаленной машине, используя ssh , например:
ssh -p 2222 username@domain
он спрашивает меня пароль, и оболочка отображает:
username@domain ~ $
Теперь, если я выполню команду (до того, как я запустил ssh, я был в локальном каталоге / home / name / dir ):
scp -r -P 2222 file.ext username@domain
вывод:
cp: cannot stat ‘file.ext’: No such file or directory
Тот же результат, если вместо file.ext я пишу полный путь
scp -r -P 2222 /home/name/dir/file.ext username@domain
Кроме того, администратор сервера сказал мне, что я буду загружать файл в мой удаленный домашний каталог (вместо root), например:
scp -r -P 2222 file.ext username@domain:~/
но когда я делаю это и нажимаю «Enter», ничего не происходит, как если бы оболочка ожидала дальнейшего ввода.
Резюме моих проблем:
- cp: нет такого файла или каталога
- оболочка "застряла" на ~ /
Какие-либо предложения?
scp
, то удаленная сторона всегда должна содержать двоеточие (например remotehost:/tmp
), иначе это будет просто делать обычную копию ( scp /tmp/foo.txt example.com
скопирует /tmp/foo.txt
в локальный файл example.com
)
-r
флаг, так как он не нужен для копирования отдельных файлов (он используется для рекурсивного копирования каталогов)
localuser@machineA: ssh -p 2222 username@domain
(чтобы указать, что вы выполняете команду ssh как localuser на машине