Odpowiedzi:
Zwykły plik to plik, który nie jest katalogiem ani bardziej egzotycznymi rodzajami „specjalnych” plików, takich jak nazwane potoki, urządzenia, gniazda, drzwi itp. Dowiązania symboliczne również nie są zwykłymi plikami, ale zachowują się jak cel, gdy aplikacja uzyskuje dostęp do zawartości pliku.
Zdałeś root@IP:jako źródło kopii i /path/to/picture.jpgjako miejsce docelowe. Źródłem jest katalog domowy użytkownika rootna komputerze IP. Jest to przydatne jako miejsce docelowe, ale nie jako źródło. To, co wpisałeś, wymagało skopiowania katalogu do pliku; scpnie może skopiować katalogu, chyba że poprosisz o kopię rekurencyjną z -ropcją (i odmówiłoby to zastąpienia istniejącego pliku katalogiem nawet z -r, ale po cichu nadpisałby zwykły plik, jeśli źródłem był zwykły plik).
Jeśli /path/to/picture.jpgjest to ścieżka na zdalnym komputerze pliku, który chcesz skopiować, musisz przykleić nazwę pliku do specyfikacji hosta. Jest to dwukropek, :który oddziela nazwę hosta od zdalnej ścieżki. Musisz także określić miejsce docelowe.
scp root@IP:/path/to/picture.jpg /some/destination
Jeśli chcesz skopiować plik lokalny /path/to/picture.jpgna zdalny host, musisz zamienić argumenty. Polecenia kopiowania w systemie Unix umieszczają źródło (źródła) na pierwszym miejscu, a miejsce docelowe na końcu.
scp /path/to/picture.jpg root@IP:
Jeśli chcesz skopiować plik zdalny /path/to/picture.jpgdo tej samej lokalizacji lokalnie, musisz powtórzyć ścieżkę. Możesz sprawić, żeby twoja powłoka powtarzała za ciebie (mniej pisania, mniej czytelności).
scp root@IP:/path/to/picture.jpg /path/to/picture.jpg
scp {root@IP:,}/path/to/picture.jpg
Podczas kopiowania katalogu należy skorzystać z -ropcji:
scp -r root@IP:/path/to/file /path/to/filedestination
problem ze składnią - usuń spację między
root @ IP:
i
/ścieżka
scp.
not a regular file
-rjako argumentu scp.
scp root@IP:/path/to/file /path/to/filedestination
Powyższe polecenie kopiuje plik ze zdalnego serwera na komputer. Jeśli wpiszesz tylko scp root@IP:, spróbuje skopiować katalog domowy root (użytkownicy domowi scp .).
Musisz więc podać dokładną ścieżkę do pliku
Otrzymujesz ten błąd, ponieważ próbujesz skopiować folder, a nie plik, dlatego powinieneś kopiować pliki rekurencyjnie, używając -ropcji
Użyj poniższego polecenia podczas kopiowania plików z komputera zdalnego na komputer lokalny
scp -r root@RemoteIP:/path/to/file /path/to/filedestination
LUB
Podczas kopiowania plików z komputera lokalnego na komputer zdalny
scp -r /path/to/file root@RemoteIP:/path/to/filedestination
scp root@IP:/path/to/*.jpg /path/to/filedestination/
To zadziała (przynajmniej na moim Macu)