Jestem na komputerze A i chcę pobrać plik z komputera B.
A$ scp <myuserid>@hostB:<path of file in B> .
tu jest napisane:
scp: <path of file in B>: No such file or directory
Ale na komputerze B ten plik istnieje w tej ścieżce.
Co idzie nie tak?
Odpowiedzi:
Nie określiłeś żadnego pliku: musisz dodać plik (ze ścieżką) po dwukropku:
lub
dla ścieżki względem twojego katalogu domowego.
Jeśli nie określisz innego użytkownika (tzn. Użytkownik A i B są tacy sami), nie potrzebujesz
@
źródło
Działa to tylko podczas kopiowania pliku. jeśli chcesz skopiować katalog użyj
Opcja, z której możesz skorzystać na żądanie
-P port
Określa port do połączenia z hostem zdalnym. Zauważ, że ta opcja jest napisana wielką literą „P”, ponieważ -p jest już zarezerwowane dla zachowania czasów i trybów pliku w rcp.
-p
Zachowuje czasy modyfikacji, czasy dostępu i tryby z oryginalnego pliku.
-r
Rekurencyjnie kopiuj całe katalogi.
-v
Tryb pełny. Powoduje, że scp i ssh drukują komunikaty debugujące dotyczące ich postępu. Jest to pomocne w debugowaniu problemów z połączeniem, uwierzytelnianiem i konfiguracją.
źródło
użyj właściwej ścieżki scp
źródło
Możesz podać ścieżkę do pliku względną do katalogu domowego lub bezwzględną ścieżkę do pliku. Na przykład, jeśli
foo.txt
znajduje się w katalogu o nazwiedocs
pod twoim katalogiem domowym ibar.txt
jest w/var/tmp
, możesz to zrobićZauważ, że jeśli nazwa pliku zawiera znaki, które są specjalne dla zdalnej powłoki (zwykle białe znaki lub
!"#$&'*;<>?[\]^`{|}~
), musisz uciec je dla zdalnej powłoki oprócz ucieczki dla lokalnej powłoki. Na przykład, jeśli plik jest wywoływanyfoo bar.txt
i znajduje się w katalogu domowym:Jeśli masz problemy z plikami zawierającymi znaki interpunkcyjne, spróbuj użyć
sftp
zamiastscp
ich przenieść. Lub użyj jeszcze wygodniejszej metody, jeśli możesz użyć FUSE : zamontuj system plików zdalnego komputera za pomocą sshfs , a następnie użyj zwykłych poleceń manipulacji plikami.źródło
Możesz SCP w obie strony łatwo, jeśli masz użytkownika DMZ i hasło Jesteś na swoim komputerze lokalnym: Z DMZ na lokalny komputer z linuksem (pull). Oznacza skopiowanie tekstu abc.text do folderu2 na bieżący zalogowany PWD.
Poprosi o hasło
to wszystko
Teraz chcesz wysłać folder podfoldery i pliki z komputera lokalnego do DMZ:
usr @ localmachine: ~ / abc / defs> scp -r folder / usr @ 111111: vkrishna / docker /
ponownie zostanie wyświetlone pytanie o hasło
: jest folderem głównym zdalnego komputera, a vkrishna jest folderem tam i ponownie podfolderem dokera. Lokalnie folder defs ma folder o nazwie „folder”, który chcemy całkowicie przenieść.
Podobnie jak / abc / defs / folder
źródło