wget

Wget

wget — консольная утилита для загрузки файлов из интернета по протоколам HTTP, HTTPS и FTP. Она особенно полезна для автоматизации загрузки, работы с нестабильным соединением и рекурсивного скачивания веб‑страниц.

Установка

Если wget не установлен, установите его:

  • Для Debian/Ubuntu:sudo apt install wget
  • Для Red Hat/CentOS/Fedora:sudo yum install wget # старые версии sudo dnf install wget # новые версии

Основные примеры использования

  1. Скачивание одного файлаwget https://example.com/file.zip Файл сохранится в текущей директории с оригинальным именем.
  2. Сохранение файла под другим именемwget -O myfile.zip https://example.com/file.zip Опция -O (заглавная буква O) задаёт имя выходного файла.
  3. Скачивание в указанную папкуwget -P /home/user/downloads https://example.com/file.zip Параметр -P указывает каталог для сохранения.
  4. Возобновление прерванной загрузкиwget -c https://example.com/large-file.iso Опция -c (--continue) позволяет продолжить загрузку с места разрыва.
  5. Ограничение скорости загрузкиwget --limit-rate=500K https://example.com/file.zip Скорость задаётся в байтах, килобайтах (K) или мегабайтах (M).
  6. Фоновая загрузкаwget -b https://example.com/file.zip Параметр -b (--background) запускает загрузку в фоне. Логи пишутся в файл wget-log.
  7. Скачивание нескольких файлов из списка
    Создайте файл urls.txt со ссылками (каждая на новой строке):https://example.com/file1.zip https://example.com/file2.zip Затем выполните:wget -i urls.txt
  8. Рекурсивное скачивание веб‑сайтаwget -r -l 2 https://example.com
    • -r (--recursive) — рекурсивная загрузка;
    • -l 2 — глубина обхода (2 уровня ссылок). Для неограниченной глубины используйте -l 0.
  9. Зеркалирование сайта (полная копия)wget --mirror --convert-links --adjust-extension https://example.com
    • --mirror — эквивалент -r -l inf --no-remove-listing;
    • --convert-links — корректирует ссылки для локального просмотра;
    • --adjust-extension — добавляет расширения к файлам (например, .html).
  10. Скачивание файлов определённого типаwget -r -A "*.pdf" https://example.com/docs/ Опция -A (--accept) фильтрует файлы по маске. Для исключения используйте -R (--reject).
  11. Загрузка с FTP и авторизациейwget --ftp-user=username --ftp-password=password ftp://server.com/file.tar.gz
  12. Игнорирование SSL‑сертификатовwget --no-check-certificate https://self-signed.example.com/file.zip Полезно для самоподписанных сертификатов.
  13. Указание User‑Agentwget --user-agent="Mozilla/5.0" https://example.com Меняет идентификатор клиента (может помочь при блокировке ботов).
  14. Проверка доступности ссылок (режим «паука»)wget --spider -r https://example.com Не скачивает файлы, а проверяет целостность ссылок.
  15. Логирование вывода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 для регулярных загрузок.