wget — консольная утилита для загрузки файлов из интернета по протоколам HTTP, HTTPS и FTP. Она особенно полезна для автоматизации загрузки, работы с нестабильным соединением и рекурсивного скачивания веб‑страниц.
Установка
Если wget не установлен, установите его:
- Для Debian/Ubuntu:
sudo apt install wget - Для Red Hat/CentOS/Fedora:
sudo yum install wget # старые версии sudo dnf install wget # новые версии
Основные примеры использования
- Скачивание одного файла
wget https://example.com/file.zipФайл сохранится в текущей директории с оригинальным именем. - Сохранение файла под другим именем
wget -O myfile.zip https://example.com/file.zipОпция-O(заглавная буква O) задаёт имя выходного файла. - Скачивание в указанную папку
wget -P /home/user/downloads https://example.com/file.zipПараметр-Pуказывает каталог для сохранения. - Возобновление прерванной загрузки
wget -c https://example.com/large-file.isoОпция-c(--continue) позволяет продолжить загрузку с места разрыва. - Ограничение скорости загрузки
wget --limit-rate=500K https://example.com/file.zipСкорость задаётся в байтах, килобайтах (K) или мегабайтах (M). - Фоновая загрузка
wget -b https://example.com/file.zipПараметр-b(--background) запускает загрузку в фоне. Логи пишутся в файлwget-log. - Скачивание нескольких файлов из списка
Создайте файлurls.txtсо ссылками (каждая на новой строке):https://example.com/file1.zip https://example.com/file2.zipЗатем выполните:wget -i urls.txt - Рекурсивное скачивание веб‑сайта
wget -r -l 2 https://example.com-r(--recursive) — рекурсивная загрузка;-l 2— глубина обхода (2 уровня ссылок). Для неограниченной глубины используйте-l 0.
- Зеркалирование сайта (полная копия)
wget --mirror --convert-links --adjust-extension https://example.com--mirror— эквивалент-r -l inf --no-remove-listing;--convert-links— корректирует ссылки для локального просмотра;--adjust-extension— добавляет расширения к файлам (например,.html).
- Скачивание файлов определённого типа
wget -r -A "*.pdf" https://example.com/docs/Опция-A(--accept) фильтрует файлы по маске. Для исключения используйте-R(--reject). - Загрузка с FTP и авторизацией
wget --ftp-user=username --ftp-password=password ftp://server.com/file.tar.gz - Игнорирование SSL‑сертификатов
wget --no-check-certificate https://self-signed.example.com/file.zipПолезно для самоподписанных сертификатов. - Указание User‑Agent
wget --user-agent="Mozilla/5.0" https://example.comМеняет идентификатор клиента (может помочь при блокировке ботов). - Проверка доступности ссылок (режим «паука»)
wget --spider -r https://example.comНе скачивает файлы, а проверяет целостность ссылок. - Логирование вывода
wget -o download.log https://example.com/file.zipПараметр-oсохраняет вывод в указанный лог‑файл.
Полезные опции
| Опция | Описание |
|---|---|
-q | Тихий режим (без вывода) |
-v | Подробный вывод (по умолчанию) |
--timeout=N | Таймаут соединения (в секундах) |
--tries=N | Число попыток загрузки |
-4 / -6 | Принудительное использование IPv4 или IPv6 |
--proxy=off | Отключение прокси |
Советы
- Мониторинг фоновой загрузки:
tail -f wget-log - Проверка целостности: сравните хеш скачанного файла с эталонным (например, через
sha256sum). - Автоматизация: добавьте
wgetвcronдля регулярных загрузок.