Гид по технологиям

Wget: как скачивать файлы в GNU/Linux из консоли

6 min read Linux Обновлено 23 Dec 2025
Wget в Linux: скачать файлы через консоль
Wget в Linux: скачать файлы через консоль

пользователь использует команду wget на ноутбуке

Wget — это утилита для скачивания файлов из сети прямо в терминале. Если у вас есть прямая ссылка на файл, вы можете загрузить его без браузера и дополнительных программ. Команда проста: она принимает параметры и работает в автоматическом режиме, что делает её удобной для сценариев, скриптов и фоновых задач.

В этом руководстве собраны практические примеры использования wget, объяснения параметров и дополнительные подсказки, которые помогут работать с загрузками безопасно и эффективно.

Основные примеры

Ниже — самые востребованные сценарии применения wget. Для всех примеров предполагается, что вы выполняете команды в терминале на GNU/Linux и имеете базовые права доступа к файловой системе.

1. Скачивание одного файла

Это самый простой сценарий: у вас есть прямая ссылка, и вы хотите скачать файл в текущую директорию.

wget https://download.aircrack-ng.org/aircrack-ng-1.7.tar.gz

скачивание одного файла с помощью wget

После выполнения можно проверить файл командой:

ls -l

2. Пакетная загрузка из списка (-i)

Если у вас есть много ссылок, сохраните их по одной на строку в текстовый файл (например, my_pdfs), затем используйте флаг -i.

vim my_pdfs
# Вставьте ссылки по одной в каждой строке
wget -i my_pdfs

подготовьте pdf-файлы для скачивания

После загрузки снова можно проверить содержимое:

ls -l

пакетная загрузка с помощью wget

3. Указать папку для загрузки (-P)

Чтобы поместить файл в определённую директорию, используйте -P и путь к папке. Путь может быть относительным или абсолютным.

wget -P Myfile https://download.aircrack-ng.org/aircrack-ng-1.7.tar.gz

Если папки не существует, создайте её заранее или используйте mkdir -p Myfile.

скачивание файлов в указанную директорию с помощью wget

4. Сохранить под другим именем (-O)

Флаг -O позволяет задать имя файла (и путь) явно. Это полезно, если URL не содержит информативного имени или вы хотите переименовать файл сразу при загрузке.

wget -O oParameter/aircrack https://download.aircrack-ng.org/aircrack-ng-1.7.tar.gz

Если вы укажете только имя без пути, файл появится в текущей директории с новым именем:

wget -O myfilename https://download.aircrack-ng.org/aircrack-ng-1.7.tar.gz

вы можете задать имя скачиваемого файла с помощью wget

5. Возобновление прерванных загрузок (-c)

При скачивании больших файлов связь может прерваться. Флаг -c (continue) позволит докачать файл с момента остановки, если сервер поддерживает дозапросы.

wget -c https://download.aircrack-ng.org/aircrack-ng-1.7.tar.gz

Пошаговый пример: создайте папку Resume, начните загрузку, прервите процесс (Ctrl+Z или прерывание соединения) и повторно выполните wget -c.

возобновление прерванной загрузки с помощью wget

завершённая прерванная загрузка

Этот режим экономит время и трафик при загрузке больших файлов.

6. Ограничение скорости загрузки (–limit-rate)

Чтобы не занимать весь доступный канал, можно ограничить скорость загрузки. Пример ограничит скорость до 300 КБ/с.

wget --limit-rate=300K https://download.aircrack-ng.org/aircrack-ng-1.7.tar.gz

Вы можете указывать K для килобайт, M для мегабайт и т. п. Например, 1M = 1 мегабайт в секунду.

ограничение скорости загрузки с помощью wget

7. Фоновая загрузка (-b)

Флаг -b позволяет запустить загрузку в фоне. Результат логируется в файл wget-log в той же директории.

wget -b https://download.aircrack-ng.org/aircrack-ng-1.7.tar.gz
# Просмотреть лог
tail -f wget-log

фоновые загрузки с помощью wget

Продвинутые приёмы и параметры

Wget поддерживает множество параметров, которые полезны при автоматизации и нестандартных задачах.

  • Рекурсивная загрузка сайтов: -r (рекурсивно), –no-parent (не подниматься выше текущей директории), -l (глубина). Используется для зеркалирования сайтов, но применяйте осторожно и уважайте robots.txt.
wget -r -np -l 2 https://example.com/path/
  • Зеркалирование: -m (mirror) сочетает ряд опций для создания локальной копии сайта.
wget -m https://example.com/
  • Авторизация: передача имени и пароля для HTTP Basic Auth через –user и –password (будьте осторожны, пароль может попасть в историю команд).
wget --user=username --password='secret' https://example.com/private/file.zip
  • Заголовки и user-agent: –header и –user-agent пригодятся при эмуляции запросов браузера.
wget --user-agent="Mozilla/5.0 (X11)" --header="Accept: text/html" https://example.com
  • Прокси: wget уважает переменные окружения http_proxy/https_proxy; можно указать прокси в ~/.wgetrc.

  • Количество повторов и таймауты: –tries и –timeout для управления повторными попытками.

wget --tries=5 --timeout=30 https://example.com/largefile.iso
  • Таймстемпинг: -N скачивает файл только если на сервере более новая версия. Удобно при регулярных обновлениях.
wget -N https://example.com/data.csv

Справочник часто используемых флагов (шпаргалка)

КлючОписание
-i <файл>Пакетная загрузка: читать URL-адреса из файла
-P <путь>Сохранить в указанную директорию
-O <файл>Сохранить под заданным именем
-cВозобновить прерванную загрузку
–limit-rate=SIZEОграничить скорость (K, M)
-bФоновая загрузка
-rРекурсивная загрузка
-mЗеркалирование сайта
–user, –passwordHTTP аутентификация
-NСравнение по времени (timestamp)

Критерии приёмки

Чтобы считать задачу «скачать файл» выполненной, проверьте:

  • Файл существует в указанной директории.
  • Размер файла совпадает с ожидаемым (или больше нуля при неизвестном размере).
  • Контрольные суммы совпадают, если известна контрольная сумма (md5/sha256).
  • При фоновой загрузке лог wget-log не содержит ошибок (или содержит сообщение об успешном завершении).

Примеры команд проверки контрольной суммы:

sha256sum ./aircrack-ng-1.7.tar.gz

Чек-листы по ролям

Администратор:

  • Проверить права на директорию назначения.
  • Использовать абсолютные пути в скриптах.
  • Логировать результаты загрузок и ошибки.

Разработчик:

  • Добавить повторные попытки и таймауты в CI-скрипты.
  • Убедиться, что пароли не попадают в историю команд.

Обычный пользователь:

  • Использовать -P или -O для удобного управления файлами.
  • Ограничивать скорость при параллельной работе в сети.

Безопасность и правовые замечания

  • Всегда скачивайте ПО с доверенных источников. Сторонние зеркала могут содержать вредоносный код.
  • Не передавайте пароли в командной строке в открытом виде в многопользовательской системе.
  • Проверяйте цифровые подписи и контрольные суммы, когда они доступны.
  • Уважайте правила сайта и robots.txt при рекурсивных загрузках и зеркалировании.

Когда wget не подходит (ограничения и альтернативы)

  • Если нужен интерактивный браузерный рендеринг (JS), wget не подойдёт; используйте headless-браузеры или инструменты типа puppeteer/selenium.
  • Для сложной аутентификации OAuth лучше применять специализированные клиенты или писать скрипты с API.
  • Для распределённых или параллельных загрузок больших наборов файлов можно рассмотреть aria2 (поддерживает многопоточность) или curl в комбинации с xargs/parallel.

Тесты и приёмочные сценарии

Примеры тест-кейсов для автоматизации проверки загрузки:

  1. Сценарий: скачать небольшой файл и проверить присутствие.

    • Команда: wget -P /tmp https://example.com/small.txt
    • Критерий: файл /tmp/small.txt существует и имеет размер > 0 байт.
  2. Сценарий: прервать загрузку и возобновить.

  3. Сценарий: ограничение скорости.

    • Команда: wget –limit-rate=50K https://example.com/medium.iso
    • Критерий: скорость в логах не превышает указанного значения.

Шпаргалка по безопасности и приватности

  • В многопользовательской среде не храните пароли в командной строке; используйте .netrc или ключи.
  • Для конфиденциальных загрузок используйте защищённые соединения (HTTPS) и проверяйте сертификаты.
  • При работе с персональными данными соблюдайте применимые правила конфиденциальности и законодательства.

Часто задаваемые вопросы

Как возобновить прерванную загрузку?

Используйте флаг -c: wget -c URL. Важно, чтобы сервер поддерживал дозапросы (HTTP Range). Если сервер не поддерживает, -c не поможет.

Можно ли скачивать сайты целиком?

Да, с осторожностью: используйте -r (рекурсивно) и -np (не подниматься выше), либо -m для зеркалирования. Следите за robots.txt и не нагружайте сервер слишком агрессивными запросами.

Как ограничить скорость загрузки?

Флаг –limit-rate=SIZE, например –limit-rate=300K для 300 КБ/с или –limit-rate=1M для 1 МБ/с.

Резюме

  • Wget — мощный инструмент для автоматизированных загрузок: одиночные файлы, пакетные загрузки, возобновление, фоновые задачи и др.
  • Для больших и критичных загрузок используйте возобновление (-c), проверяйте контрольные суммы и логируйте результаты.
  • При рекурсивных загрузках и зеркалировании уважайте правила сайтов и ограничивайте скорость, чтобы не создавать лишней нагрузки.

Важно: всегда проверяйте источник скачиваемых файлов и применяйте базовые меры безопасности.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Статистика в Excel: проценты, среднее, t‑тест
Руководство

Статистика в Excel: проценты, среднее, t‑тест

Управление шрифтами на Mac — Font Book
macOS

Управление шрифтами на Mac — Font Book

Не получается войти в ChatGPT: причины и как исправить
Инструкции

Не получается войти в ChatGPT: причины и как исправить

YouTube Kids — как сделать YouTube безопасным для детей
Родительство

YouTube Kids — как сделать YouTube безопасным для детей

Как написать книгу: лучшие ресурсы
Письмо

Как написать книгу: лучшие ресурсы

Инструменты для создания текстовых приключений
Игры

Инструменты для создания текстовых приключений