Do pobrania pliku z adresu URL w terminalu Linuksa, dwa najpopularniejsze narzędzia to Wget i curl . Do prostego pobrania pliku z nazwą serwera użyj Wget wget "URL". W przypadku curl użyj Wget, curl -L -O "URL"aby curl śledził przekierowania HTTP i zapisywał zdalną nazwę pliku zamiast wyświetlać plik w terminalu.
Szybkie polecenia pobierania adresu URL
Zadanie
Polecenie
Pobierz za pomocą Wget
wget "https://example.com/archive.tar.gz"
Pobierz za pomocą curl
curl -L -O "https://example.com/archive.tar.gz"
Wybierz nazwę pliku za pomocą Wget
wget -O archive.tar.gz "URL"
Wybierz nazwę pliku za pomocą curl
curl -L -o archive.tar.gz "URL"
Wznów w Wget
wget -c "URL"
Wznów z zawinięciem
curl -L -C - -o archive.tar.gz "URL"
Sprawdź, czy zainstalowano Wget lub curl
Wiele dystrybucji Linuksa zawiera już jedno lub oba narzędzia. Sprawdź przed instalacją:
command -v wget
command -v curl
Jeśli polecenie wyświetla ścieżkę, taką jak /usr/bin/wget, jest ona dostępna. Jeśli nie, zainstaluj narzędzie za pomocą menedżera pakietów swojej dystrybucji:
Wget jest wygodny, gdy celem jest po prostu pobieranie plików. Jego podstawowa składnia to wget [options] URL, udokumentowana w oficjalnym podręczniku GNU Wget .
wget "https://example.com/archive.tar.gz"
Domyślnie Wget zapisuje pobrany plik w katalogu, w którym uruchomiono polecenie, używając nazwy pliku utworzonej na podstawie adresu URL.
Podstawowe pobranie programu Wget zapisuje plik w bieżącym katalogu terminala.
Zapisz w innym katalogu lub pod inną nazwą pliku
Aby zachować nazwę pliku zdalnego, ale umieścić plik w Pobranych, użyj opcji prefiksu katalogu programu Wget:
Należy zachować ostrożność przy -Opodawaniu kilku adresów URL: Wget traktuje je jak jeden strumień wyjściowy, więc wiele pobrań może zostać zapisanych w tym samym pliku wyjściowym. Dokumentacja GNU download-options wyjaśnia to zachowanie.
Opcja ta -Onadaje pobieranej zawartości wyraźną ścieżkę lokalną i nazwę pliku.
Wznów przerwane pobieranie Wget
Jeżeli poprzednie pobieranie zostało zatrzymane w trakcie i serwer obsługuje wznawianie, uruchom:
wget -c "https://example.com/large-file.iso"
Opcja Wget -ckontynuuje pobieranie z istniejącego pliku częściowego, gdy jest to możliwe. Jest ona przeznaczona do pobierania rozpoczętego wcześniej przez Wget lub inny program, a nie tylko do ponawiania próby połączenia, które nie powiodło się podczas bieżącego uruchomienia.
Pobierz wiele adresów URL z pliku tekstowego
Utwórz plik tekstowy z jednym adresem URL w każdym wierszu, na przykład urls.txt, a następnie użyj:
Curl zapisuje dane odpowiedzi na standardowe wyjście, chyba że polecisz mu zapisanie ich do pliku. Praktyczna forma pobierania wygląda następująco:
curl -L -O "https://example.com/archive.tar.gz"
-Lśledzi przekierowania HTTP, podczas gdy opcja „duże litery” -Ozapisuje plik pod nazwą z adresu URL. Opcje te są udokumentowane w oficjalnej stronie podręcznika curl .
Za pomocą curl -Lnastępuje przekierowanie i -Ozapisanie nazwy pliku URL.
Wybierz ścieżkę wyjściową curl
Użyj małych liter, -ojeśli chcesz samodzielnie wybrać nazwę pliku lokalnego:
Obsługa wznawiania nadal zależy od protokołu i serwera. Nie należy łączyć opcji curl --remove-on-errorz -C; aktualna dokumentacja curl oznacza te opcje jako niekompatybilne.
Opcja ta -C -nakazuje programowi curl wznowić działanie od istniejącego pliku częściowego.
Kilka wskazówek dotyczących bezpieczeństwa pobierania danych z terminala
Podaj adresy URL zawierające znaki takie jak &, ?, *, nawiasy kwadratowe lub klamrowe, aby powłoka ich nie zinterpretowała.
Preferuj protokół HTTPS i nie pomijaj rutynowo sprawdzania certyfikatów za pomocą programów curl -klub Wget --no-check-certificate.
Sprawdź sumy kontrolne , gdy wydawca udostępnia algorytm SHA-256 lub podobny dla dużych instalatorów, obrazów ISO lub archiwów.
Unikaj umieszczania haseł lub długotrwałych poufnych informacji bezpośrednio w adresach URL ; wiersze poleceń mogą być przechowywane w historii powłoki i widoczne dla innych procesów lub użytkowników.
W przypadku jednorazowych pobrań, Wget jest często najkrótszym poleceniem. curl jest szczególnie przydatny, gdy potrzebujesz również obsługi przekierowań, niestandardowych nagłówków, uwierzytelniania, interfejsów API lub innych kontrolek HTTP. W przypadku zwykłych pobrań w terminalu Linux, oba narzędzia są niezawodne, o ile używasz odpowiednich opcji wyjścia i wznawiania.