Polecenie scp umożliwia wydajne kopiowanie pliku między dwoma różnymi hostami. Składnia scp wykorzystuje składnię cp, więc powinna być znajoma dla większości użytkowników Linuksa.
Problem z poleceniem scp polega na tym, że źródło lub miejsce docelowe może być zdalne, tj. Komputer podłączony do innej sieci, innej niż lokalna. Określając plik do skopiowania, musisz również podać szczegółowe informacje o zdalnym hoście. Obejmuje to jego adres IP i nazwę użytkownika.
Przesyłanie pliku za pomocą polecenia scp
Ogólna składnia scp to:
miejsce docelowe źródła scp
Zwróć uwagę, że jest to zasadniczo ta sama składnia, co polecenie cp.
Najprostszym przykładem scp jest ten, którego prawdopodobnie będziesz używać najczęściej: przesyłanie pliku z komputera lokalnego na serwer zdalny. W tym przypadku źródło część polecenia jest prosta, a plik Miejsce docelowe jest bardziej skomplikowane:
scp index.html [email protected]: / var / www / html /
Spowoduje to skopiowanie lokalnego pliku o nazwie index.html
do zdalnego hosta. Możesz to określić w taki sam sposób, jak określa się plik dla dowolnego innego polecenia. Może to być odniesienie bezwzględne lub względne do pliku. Więc, index.html, ../index.html, i /home/bobby/index.html są różne sposoby, których możesz użyć do określenia pliku lokalnego.Miejsce docelowe w przykładzie to [email protected]: / var / www / html /. To znaczy że:
- Użytkownik konstabl będzie właścicielem nowego pliku na serwerze zdalnym. Ten użytkownik będzie musiał istnieć i powinieneś mieć do niego dostęp.
- Nazwa hosta serwera, na który prześlemy plik, to example.org. Podaliśmy tutaj domenę, ale możesz też użyć domeny adres IP zamiast.
- Na tym serwerze scp prześle plik do /var/www/html/ informator.
Po wprowadzeniu tego polecenia terminal zazwyczaj poprosi o podanie hasła użytkownika określonego na komputerze zdalnym.
Pobieranie całego katalogu
Oto nieco bardziej skomplikowany wariant, który pobiera cały katalog:
scp -rpC [email protected]: / tmp / docs / home / bobby
Po pierwsze, powinieneś zauważyć, że źródło jest teraz maszyną zdalną, podczas gdy Miejsce docelowe jest lokalny. Oprócz zmiany kolejności te szczegóły dotyczące źródła i miejsca docelowego powinny być znane. Ale ten przykład wprowadza również trzy przydatne flagi:
- -r: Rekurencyjnie pobiera cały katalog. Przeniesie wszystkie pliki w środku /tmp/docs. Jest to bardzo przydatne przy tworzeniu szybkich kopii zapasowych lub przesyłaniu dużej liczby plików, szczególnie jeśli nie masz dostępu do logowania do zdalnego hosta.
- -p: Przetwory sygnatury czasowe pliku i tryby oryginalnych plików. Twoje lokalne kopie będą miały takie same czasy tworzenia lub uprawnienia do zapisu, jak ich oryginały.
- -DO: Włącza kompresję. Jeśli przesyłasz dużo plików, może to przyspieszyć działanie, zwłaszcza jeśli używasz wolnego połączenia.
Polecenie scp jest prawie tak proste, jak cp
Podstawowe użycie polecenia scp jest łatwe: działa tak samo jak cp. Podstawowa różnica polega na tym, że scp potrzebuje kilku dodatkowych informacji na temat zdalnego serwera. Jednak, podobnie jak w przypadku cp, istnieją przydatne flagi rozszerzające podstawową funkcjonalność. Obejmują one kompresję i kopiowanie rekurencyjne w celu umożliwienia pobierania wielu plików.
Opanowanie polecenia scp może się przydać, jeśli poproszono Cię o zarządzanie serwerem Linux. Tworzenie kopii zapasowych i zdalne przesyłanie danych to codzienne zadanie dla kogoś, kto zajmuje się administrowaniem serwerem.
Zdalne przenoszenie plików i folderów jest łatwiejsze niż myślisz. Za pomocą polecenia scp zdalne przenoszenie plików jest również szyfrowane.
Czytaj dalej
- Linux
- Polecenia Linuksa
Bobby jest entuzjastą technologii, który przez prawie dwie dekady pracował jako programista. Pasjonuje się grami, pracuje jako redaktor recenzji w Switch Player Magazine i jest pochłonięty wszystkimi aspektami publikacji online i tworzenia stron internetowych.
Zapisz się do naszego newslettera
Dołącz do naszego biuletynu, aby otrzymywać wskazówki techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!
Jeszcze jeden krok…!
Potwierdź swój adres e-mail w wiadomości e-mail, którą właśnie wysłaliśmy.