Wget — это бесплатная утилита командной строки GNU, используемая для загрузки файлов из Интернета. Она извлекает файлы с использованием протоколов HTTP, HTTPS и FTP.
Если во время загрузки возникает проблема с сетью, это полезное программное обеспечение может возобновить получение файлов, не начиная с нуля.
Другим важным аспектом является возможность рекурсивной загрузки, с помощью которой она может копировать веб-сайты переходя по ссылкам и структуре каталогов и создавая локальные версии веб-страниц.
Команда wget очень гибкая и может использоваться в терминалах, скриптах и cron-задачах. Во время загрузки пользователю не обязательно быть активным или авторизованным. Поскольку wget может работать независимо в фоновом режиме.
Как проверить, установлен ли wget?
Скорее всего, пакет wget уже есть в вашей системе, так как сейчас он предустановлен в большинстве дистрибутивов Linux.
Чтобы проверить, откройте окно терминала и введите:
wget
Если у вас установлен wget, вы увидите сообщение, что команде wget не хватает URL-адреса, как показано на изображении ниже:
Если в выводе отображается команда wget command not found
, вам необходимо загрузить и установить инструмент вручную. Ниже вы найдете инструкции по установке для Ubuntu / Debian, CentOS и Windows.
Как установить wget на Ubuntu / Debian?
Чтобы установить wget в системах Ubuntu или Debian, используйте команду:
sudo apt-get install wget
Как установить wget на CentOS / Fedora?
Чтобы установить wget на CentOS или Fedora, введите следующую команду:
sudo yum install wget
Синтаксис wget
Синтаксис wget имеет следующий шаблон:
wget [option][URL]
Каждая [option] имеет свою длинную и короткую форму, которые удобно заменять. Этот атрибут указывает, что делать со следующим URL-адресом.
[URL] — это адрес файла или каталога, который вы хотите загрузить.
Список основных команд wget
- -V (—version) — выводит версию программы
- -h (—help) — выводит справку
- -b (—background) — работать в фоновом режиме
- -o {file} (—out-file) — указывает лог файл
- -d (—debug) — включает режим отладки
- -v (—verbose) — выводит максимум информации о работе утилиты
- -q (—quiet) — выводит минимум информации о работе
- -i {file} (—input-file) — читает URL из файла
- —force-html — читает файл указанный в предыдущем параметре как html
- -t (—tries) — количество попыток подключения к серверу
- -O {file} (—output-document) — файл в который будут сохранены полученные данные
- -с (—continue) — продолжает ранее прерванную загрузку
- -S (—server-response) — выводит ответ сервера
- —spider — проверяет работоспособность URL
- -T {time} (—timeout) — таймаут подключения к серверу
- —limit-rate — ограничивает скорость загрузки
- -w (—wait) — интервал между запросами
- -Q (—quota) — максимальный размер загрузки
- -4 (—inet4only) — использовать протокол ipv4
- -6 (—inet6only) — использовать протокол ipv6
- -U (—user-agent) — строка USER AGENT отправляемая серверу
- -r (—recursive) — рекурсивная работа утилиты
- -l (—level) — глубина при рекурсивном сканировании
- -k (—convert-links) — конвертирует ссылки в локальные при загрузке страниц
- -P (—directory-prefix) — каталог, в который будут загружаться файлы
- -m (—mirror) — скачивает сайт на локальную машину
- -p (—page-requisites) — во время загрузки сайта скачивает все необходимые ресурсы
Примеры команд wget
Как скачать файл из Интернета
Чтобы загрузить файл из Интернета, используйте пример:
wget http://apache.cs.utah.edu/tomcat/tomcat-9/v9.0.20/bin/apache-tomcat-9.0.20.tar.gz
Как скачать файл и сохранить с другим названием
Параметр -O
устанавливает имя выходного файла. Если файл называется terraform_0.12.2_linux_amd64.zip
, и вы хотите сохранить его непосредственно в terraform.zip
, вы должны использовать такую команду:
wget –O terraform.zip https://releases.hashicorp.com/terraform/0.12.2/terraform_0.12.2_linux_amd64.zip
Как сохранить файл в конкретный каталог
По умолчанию wget загружает файл в каталог, в котором находится пользователь. Чтобы сохранить файл в другом месте, добавьте параметр –P
:
wget –P /temp https://github.com/git/git/archive/master.zip
Как установить скорость загрузки
Вы можете установить скорость загрузки при скачивании большого файла, чтобы он не использовал всю доступную пропускную способность. Скорость загрузки определяется в килобайтах (k) и мегабайтах (m). Используйте команду:
wget --limit-rate 1m http://us.download.nvidia.com/tesla/396.37/nvidia-diag-driver-local-repo-ubuntu1710-396.37_1.0-1_amd64.deb
Как продолжить загрузку после прерывания
Вместо того, чтобы начинать с нуля, wget может возобновить загрузку с того места, где она была остановлена до прерывания. Это полезная функция, если при загрузке файла происходит потеря соединения.
wget –c https://github.com/mumble-voip/mumble/releases/download/1.2.19/murmur-static_x86-1.2.19.tar.bz2
Как скачать несколько файлов
- Сначала создайте и откройте файл с именем MultipleDownloads.txt (или другим именем по вашему выбору) с помощью текстового редактора.:
- В редакторе добавьте URL-адреса, которые вы хотите загрузить, по одному в каждой строке.
- Сохраните и выйдите из файла.
- Выполните следующую команду wget в окне терминала:
wget –i MultipleDownloads.txt
Как загрузить зеркало веб-страницы
С помощью wget вы можете загрузить весь веб-сайт из Интернета, используя параметр –m
. Он предлагает wget создать зеркало указанной веб-страницы. Основная команда для этого:
wget –m https://phoenixnap.com
Как скачать через FTP
Чтобы загрузить через FTP, введите имя пользователя и пароль FTP-сервера, а затем ftp-адрес:
wget --ftp-user=sofiftp --ftp-password=TopSecretPassword ftp://123.456.7890
Как скачать в фоновом режиме
Вы можете использовать функцию загрузки в фоновом режиме при работе с большими файлами:
wget –b http://some_website/sample_file.rpm
Как увеличить число попыток повтора
По умолчанию количество повторных попыток установлено на 20.
Вы также можете установить число на бесконечность со значениями 0 или inf, как в следующем примере:
wget --tries=inf http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo
Как пропустить проверку сертификата
По умолчанию wget проверяет, есть ли у сервера действительный сертификат SSL / TLS. Если он не идентифицирует подлинный сертификат, он отказывается от загрузки.
Параметр --no-check-certificate
используется, чтобы отменить проверку сертификата. Однако используйте его только в том случае, если вы уверены в надежности веб-сайта или не беспокоитесь о проблемах безопасности, которые он может вызвать.
wget --no-check-certificate http://enteratonerisk.com
Как изменить User Agent
При загрузке веб-страницы wget по сути эмулирует браузер. В некоторых случаях в выводе может быть указано, что у вас нет разрешения на доступ к серверу или что соединение запрещено. Это может быть связано с тем, что веб-сайт блокирует клиентские браузеры с определенным «User-Agent».
«User-Agent» — это поле заголовка, которое браузер отправляет на сервер, к которому он хочет получить доступ. Поэтому для загрузки с сервера, который отказывается подключаться, попробуйте его изменить.
Найдите базу данных всех пользовательских агентов в сети, найдите тот, который вам нужен, и выполните команду:
wget --user-agent=” Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36” “https://phoenixnap.com”