Android

Polecenie Wget w systemie Linux z przykładami

How to download files using the Wget command in Linux

How to download files using the Wget command in Linux

Spisu treści:

Anonim

GNU Wget to narzędzie wiersza polecenia do pobierania plików z Internetu. Dzięki Wget możesz pobierać pliki przy użyciu protokołów HTTP, HTTPS i FTP. Wget zapewnia wiele opcji pozwalających na pobieranie wielu plików, wznawianie pobierania, ograniczanie przepustowości, pobieranie rekurencyjne, pobieranie w tle, tworzenie kopii lustrzanej strony internetowej i wiele więcej.

W tym samouczku pokażemy, jak korzystać z polecenia Wget, poprzez praktyczne przykłady i szczegółowe objaśnienia najczęściej używanych opcji Wget.

Instalowanie Wget

Pakiet wget jest już zainstalowany w większości dystrybucji Linuksa.

Aby sprawdzić, czy pakiet Wget jest zainstalowany w systemie, otwórz konsolę, wpisz wget i naciśnij klawisz Enter. Jeśli masz zainstalowany wget, system wydrukuje wget: missing URL , w przeciwnym razie wydrukuje wget command not found .

Jeśli wget nie jest zainstalowany, możesz go łatwo zainstalować za pomocą menedżera pakietów swojej dystrybucji.

Instalowanie Wget na Ubuntu i Debianie

sudo apt install wget

Instalowanie Wget na CentOS i Fedorze

sudo yum install wget

Składnia polecenia Wget

Zanim przejdziemy do korzystania z polecenia wget , zacznijmy od zapoznania się z podstawową składnią.

Wyrażenia narzędzia wget mają następującą postać:

wget

  • options - url URL opcji Wget - adres URL pliku lub katalogu, który chcesz pobrać lub zsynchronizować.

Jak pobrać plik za pomocą Wget

W najprostszej formie, gdy jest używana bez żadnej opcji, wget pobierze zasób określony w bieżącym katalogu.

W poniższym przykładzie pobieramy archiwum tar jądra Linux:

wget

Jak widać na powyższym obrazku, Wget zaczyna od rozpoznania adresu IP domeny, a następnie łączy się ze zdalnym serwerem i rozpoczyna transfer.

Podczas pobierania Wget pokazuje pasek postępu wraz z nazwą pliku, rozmiarem pliku, prędkością pobierania i szacowanym czasem ukończenia pobierania. Po zakończeniu pobierania możesz znaleźć pobrany plik w bieżącym katalogu roboczym.

Aby wyłączyć wyjście Wget, użyj opcji -q .

Jeśli plik już istnieje, Wget doda .N (liczba) na końcu nazwy pliku.

Używanie polecenia Wget do zapisania pobranego pliku pod inną nazwą

Aby zapisać pobrany plik pod inną nazwą, przekaż opcję -O , a następnie wybraną nazwę:

wget -O latest-hugo.zip

Powyższe polecenie zapisze najnowszy plik zip hugo z GitHub jako latest-hugo.zip zamiast oryginalnej nazwy.

Użycie polecenia Wget do pobrania pliku do określonego katalogu

Domyślnie Wget zapisuje pobrany plik w bieżącym katalogu roboczym. Aby zapisać plik w określonej lokalizacji, użyj opcji -P :

wget -P /mnt/iso

Za pomocą powyższego polecenia mówimy Wgetowi, aby zapisał plik ISO CentOS 7 w /mnt/iso .

Jak ograniczyć prędkość pobierania za pomocą Wget

Aby ograniczyć prędkość pobierania, użyj opcji --limit-rate . Domyślnie prędkość jest mierzona w bajtach / sekundę. Dołącz k dla kilobajtów, m dla megabajtów g dla gigabajtów.

Następujące polecenie pobierze plik binarny Go i ograniczy prędkość pobierania do 1 MB:

wget --limit-rate=1m

Ta opcja jest przydatna, gdy nie chcesz, aby wget wykorzystywał całą dostępną przepustowość.

Jak wznowić pobieranie za pomocą Wget

Możesz wznowić pobieranie za pomocą opcji -c . Jest to przydatne, jeśli połączenie zostanie zerwane podczas pobierania dużego pliku i zamiast rozpocząć pobieranie od zera, możesz kontynuować poprzedni.

W poniższym przykładzie wznawiamy pobieranie pliku ISO Ubuntu 18.04:

wget -c

Jeśli zdalny serwer nie obsługuje wznawiania pobierania, Wget rozpocznie pobieranie od początku i zastąpi istniejący plik.

Jak pobierać w tle za pomocą Wget

Aby pobrać w tle, użyj opcji -b . W poniższym przykładzie pobieramy plik ISO OpenSuse w tle:

wget -b

Domyślnie dane wyjściowe są przekierowywane do pliku wget-log w bieżącym katalogu. Aby sprawdzić status pobierania, użyj polecenia tail :

tail -f wget-log

Jak zmienić Wget User-Agent dla Wget

Czasami podczas pobierania pliku zdalny serwer może być ustawiony tak, aby blokował Wget User-Agent. W takich sytuacjach, aby emulować inną przeglądarkę, należy przejść do opcji -U .

wget --user-agent="Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0"

Powyższe polecenie emuluje Firefoksa 60 żądającego strony z wget-forbidden.com

Jak pobierać wiele plików za pomocą Wget

W poniższym przykładzie pobieramy pliki iso Arch Linux, Debian i Fedora o adresach URL określonych w pliku linux-distros.txt :

wget -i linux-distros.txt linux-distros.txt

http://mirrors.edge.kernel.org/archlinux/iso/2018.06.01/archlinux-2018.06.01-x86_64.iso https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-9.4.0-amd64-netinst.iso

Używanie polecenia Wget do pobierania przez FTP

Aby pobrać plik z chronionego hasłem serwera FTP, określ nazwę użytkownika i hasło, jak pokazano poniżej:

wget --ftp-user=FTP_USERNAME --ftp-password=FTP_PASSWORD ftp://ftp.example.com/filename.tar.gz

Używanie polecenia Wget do utworzenia kopii lustrzanej witryny

Aby utworzyć kopię lustrzaną witryny za pomocą Wget, użyj opcji -m . Spowoduje to utworzenie kompletnej lokalnej kopii witryny, śledząc i pobierając wszystkie linki wewnętrzne oraz zasoby strony internetowej (JavaScript, CSS, obrazy).

wget -m

wget -m -k -p

Opcja -k spowoduje, że Wget przekształci łącza w pobranych dokumentach, aby były odpowiednie do lokalnego przeglądania. Opcja -p każe wgetowi pobrać wszystkie niezbędne pliki do wyświetlenia strony HTML.

Jak pominąć sprawdzanie certyfikatu za pomocą Wget

wget --no-check-certificate

Jak pobierać do standardowego wyjścia za pomocą Wget

W poniższym przykładzie Wget po cichu (flag -q ) pobierze i wyśle ​​najnowszą wersję WordPressa do stdout (flaga -O - ) i potokuje ją do narzędzia tar , które rozpakuje archiwum do katalogu /var/www .

wget -q -O - "http://wordpress.org/latest.tar.gz" | tar -xzf - -C /var/www

Wniosek

Za pomocą Wget możesz pobierać wiele plików, wznawiać częściowe pobieranie, tworzyć kopie lustrzane witryn i łączyć opcje Wget zgodnie z własnymi potrzebami.

Aby dowiedzieć się więcej o Wget, odwiedź stronę podręcznika GNU wget.

terminal wget