cp: not stat: нет такого файла или каталога


10

Я получаю сообщение об ошибке при попытке скопировать файл с локального компьютера на удаленный сервер с ssh. Я получаю ту же ошибку, использую ли я cpили scp.

Вот мой ввод в результате ошибки:

[root@xxx.xx.xxx.xx /]# cp /home/username/some.xml root@xxx.xx.xxx.xx:/path/to/directory/  
cp: cannot stat ‘/home/username/some.xml’: No such file or directory

Я проверил, и /home/username/some.xmlна моем локальном компьютере определенно есть файл по пути .

И локальный компьютер, и удаленный сервер работают CentOS 7. Как я могу устранить эту ошибку и успешно скопировать?


1
Можете ли вы вставить вывод (как root) ls -l /home/username/some.xml?
Марк Плотник

Вам нужно получить правильный путь для имени файла, с которого нужно начать, если вы можете найти файл в браузере файлов, вы сможете найти его в терминале, перемещаясь по каталогам с помощью cd и используя ls для просмотра других файлов и каталогов.
Крис Дэвидсон

@MarkPlotnick Ваши предложения заставили меня решить проблему. Как root@remote.server.ipя набрал exit, затем набрал scpкоманду выше, и это сработало. Проблема была в том, что я вошел в систему как root@remote.web.server, так что он видел только структуру каталогов remote.web.server, которая отличается от структуры каталогов моего локального компьютера. Поскольку вы заставили меня найти это, я был бы рад принять ответ, который вы могли бы представить. Спасибо.
CodeMed

Ответы:


6

Если вы вошли на локальный компьютер , вы должны использовать scpэто так:

scp /home/username/some.xml root@remote.machine.ip.address:/path/to/directory/

Если вы вошли на удаленный компьютер (как в OP), используйте scpтак:

scp username@local.machine.ip.address:/home/username/some.xml /path/to/directory

Подставьте IP-адреса, как указано в командах.


После целого дня пробуя разные решения, это работает для меня.
Хобби Дев

2

Во-первых, вам придется использовать SCP, просто невозможно использовать cp для копирования файлов по сети.

Команда scp должна выглядеть следующим образом из вашего примера, обратите внимание, что структура каталогов должна существовать на сервере, принимающем файлы;

scp /home/username/some.xml root@xxx.xxx.xxx.xxx:/path/to/directory/

Если вы еще этого не сделали, вам нужно будет войти на сервер, на который вы копируете файл, и создать каталог, в который вы хотите скопировать файл, т.е.

mkdir /path/to/directory

Альтернативой может быть использование rsync.


Это не работает. Я просто попробовал это снова сейчас, проверяя, что я сделал в точности так, как вы написали, - это то же самое, что я упоминал в моем OP выше, когда я заявил, что это генерирует ту же ошибку, использую ли я scpили cp.
CodeMed
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.