С чего начать Первые шаги трек · 15 ступеней
Linux Labs

wget — загрузка файлов по сети

4 мин GNU wget

Скачивает файлы с докачкой и рекурсией; -r без -np и -l не имеет тормозов и может зеркалить сайт целиком.

Шпаргалка

6 команд Версия для печати
  • wget URL скачать
  • wget -O name URL под своим именем
  • wget -c URL докачать
  • wget -O- URL | cmd в stdout (в конвейер)
  • wget -i urls.txt список URL
  • wget -r -np -k -p URL зеркало каталога

Обзор

wget скачивает файлы по HTTP/HTTPS/FTP. В отличие от curl (универсальный клиент для API), wget заточен под загрузку: докачка, рекурсия, зеркала, повторы.

bash
wget https://site/file.tar.gz     # скачать в текущий каталог
wget -O out.tar.gz https://site/x # сохранить под своим именем

Ключи

9

-r (рекурсия) без -np (не подниматься выше каталога) и без -l N (ограничение глубины) не имеет естественного предела — скачивание пойдёт по всем ссылкам сайта, включая внешние, пока не остановишь вручную. -c докачивает прерванную загрузку только если сервер поддерживает Range — иначе начнётся заново с нуля, несмотря на флаг.

Ключ Что делает Пример
-O FILE Сохранить под другим именем; -O- перенаправляет содержимое в stdout. wget -O out.tar.gz https://site/x
-c Докачать прерванную загрузку; работает только если сервер поддерживает Range. wget -c https://site/big.iso
-P DIR Каталог, куда сохранить файл. wget -P /downloads https://site/x
-q Тихий режим — без вывода прогресса, для скриптов. wget -q https://site/x
-i FILE Скачать список URL из файла, по одному на строку. wget -i urls.txt
--limit-rate RATE Ограничить скорость загрузки, чтобы не забить канал. wget --limit-rate=2m https://site/x
-r --recursive Рекурсивная загрузка; без -np и -l качает по всем ссылкам без предела. опасно wget -r -np -l2 https://site/docs/
-np --no-parent При рекурсии не подниматься выше начального каталога. wget -r -np https://site/docs/
-k --convert-links После скачивания зеркала поправить ссылки для локального просмотра. wget -r -np -k https://site/docs/

Ничего не найдено. Попробуй запрос короче.

Рецепты

1

Команды

bash
wget -c https://site/big.iso              # докачать прерванное
wget -nv -P /downloads https://site/x     # тихо, в каталог
wget -O - https://site/script.sh | less   # в stdout (посмотреть, не сохраняя)
wget -i urls.txt                          # скачать список URL из файла
wget --limit-rate=2m https://site/x       # ограничить скорость 2 МБ/с
wget -t5 --retry-connrefused https://site/x   # упорные повторы (флапающая сеть)
wget --header='Authorization: Bearer TOK' https://api/x   # с токеном
wget --user=u --password=p ftp://host/file

# зеркало каталога сайта (осторожно с объёмом):
wget -r -np -k -p https://site/docs/      # рекурсия, не выше, поправить ссылки, +ресурсы
wget -r -l2 -np https://site/             # ограничить глубину -l

Неполадки

5

ERROR: cannot verify ... certificate

Проблема с TLS-сертификатом/цепочкой. Правильно — починить CA (ca-certificates, см. openssl-tls); для разовой отладки --no-check-certificate (НЕ в проде).

Скачивание оборвалось

wget -c URL докачает с места обрыва, если сервер поддерживает Range. Для надёжности в скриптах — -c -t0 --retry-connrefused.

Получил HTML вместо файла

Ссылка ведёт на страницу/редирект/логин, а не на файл. Проверь URL и редиректы (wget -S покажет заголовки ответа). Для API лучше curl.

Качается бесконечно / зеркалит лишнее

У рекурсии -r без -np/-l нет тормозов. Ограничивай: -np (не выше каталога), -l N (глубина), -A/-R (фильтр расширений).

Медленно/упирается в канал

--limit-rate= чтобы не забить канал; -q чтобы не засорять лог скрипта.

Опасно

--no-check-certificate отключает проверку TLS-сертификата целиком — трафик может быть подменён по пути без единого предупреждения. Используй его только для разовой отладки на доверенной сети, никогда на проде: правильное решение — починить цепочку сертификатов (ca-certificates). Рекурсивная загрузка без -np/-l может утащить весь сайт, включая внешние ссылки, — прежде чем запускать -r на проде, ограничь глубину и домен.

См. также

  • curl — Запросы HTTP/HTTPS из CLI — отладка API и веб-сервисов, заголовки, методы.
  • tar — Создание и распаковка архивов tar/gz/xz; бэкап каталогов.
Загрузка…