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:

[[email protected] /]# cp /home/username/some.xml [email protected]:/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ć?

CodeMed
źródło
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 [email protected]wpisałem exit, a następnie wpisałem scppowyższe polecenie i zadziałało. Problem polegał na tym, że byłem zalogowany jako [email protected], 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 [email protected]:/path/to/directory/

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

scp [email protected]:/home/username/some.xml /path/to/directory

Zastąp adresy IP zgodnie z poleceniami.

Timothy Martin
źródło
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 [email protected]:/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.

Chris Davidson
źródło
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