cp: nie można stat: brak takiego pliku lub katalogu


10

Podczas próby skopiowania pliku z komputera lokalnego na serwer zdalny pojawia się błąd ssh. Otrzymuję ten sam błąd, niezależnie od tego, czy używam, cpczy scp.

Oto mój wkład w wynikowy błąd:

[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

Sprawdziłem i na pewno jest plik na ścieżce /home/username/some.xml na mojej lokalnej maszynie na .

Zarówno komputer lokalny, jak i serwer zdalny są uruchomione CentOS 7. Jak mogę rozwiązać ten błąd i pomyślnie skopiować?


1
Czy możesz wkleić dane wyjściowe (jako root) ls -l /home/username/some.xml?
Mark Plotnick,

Musisz zacząć od poprawnej ścieżki do nazwy pliku, jeśli możesz znaleźć plik w przeglądarce plików, powinieneś być w stanie go znaleźć w terminalu, nawigując po katalogach za pomocą cd i używając ls do przeglądania kolejnych plików i katalogów.
Chris Davidson,

@MarkPlotnick Twoje sugestie skłoniły mnie do rozwiązania problemu. Gdy root@remote.server.ipwpisałem exit, a następnie wpisałem scppowyższe polecenie i zadziałało. Problem polegał na tym, że byłem zalogowany jako root@remote.web.server, więc widziałem tylko strukturę katalogów remote.web.server, która różni się od struktury katalogów mojego komputera lokalnego. Ponieważ sprawiłeś, że to znalazłem, chętnie przyjmę odpowiedź, którą możesz udzielić. Dziękuję Ci.
CodeMed

Odpowiedzi:


6

Jeśli jesteś zalogowany na komputerze lokalnym , możesz użyć scptego w następujący sposób:

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

Jeśli jesteś zalogowany na zdalnym komputerze (jak w OP), użyj scpnastępującego polecenia:

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

Zastąp adresy IP zgodnie z poleceniami.


Po całym dniu wypróbowania różnych rozwiązań, to działa dla mnie.
Hobby Dev

2

Po pierwsze, będziesz musiał użyć SCP, nie ma sposobu, aby po prostu użyć cp do skopiowania plików przez sieć.

Polecenie scp powinno wyglądać następująco z twojego przykładu, zwróć uwagę, że struktura katalogów będzie musiała istnieć na serwerze odbierającym pliki;

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

Jeśli jeszcze tego nie zrobiłeś, musisz zalogować się na serwerze, na który kopiujesz plik i utworzyć katalog, do którego chcesz skopiować plik, tj.

mkdir /path/to/directory

Alternatywą byłoby użycie rsync.


To nie działa. Właśnie spróbowałem ponownie teraz, sprawdzając, czy zrobiłem dokładnie tak, jak napisałeś, to jest to samo, o czym wspomniałem w moim OP powyżej, gdy stwierdziłem, że generuje ten sam błąd, czy używam scplub cp.
CodeMed
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.