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

wget в Linux: практическое руководство

6 min read Linux Обновлено 13 Apr 2026
wget в Linux: практическое руководство
wget в Linux: практическое руководство

TL;DR

Wget — это простая и надёжная командная утилита для загрузки файлов по HTTP, HTTPS и FTP. В статье показаны базовые и продвинутые приёмы: одиночная загрузка, пакетная загрузка (-i), указание места (-P), переименование (-O), добор прерванной загрузки (-c), ограничение скорости (–limit-rate) и фоновая загрузка (-b). Также приведены советы по безопасности, альтернативы и проверочные сценарии.

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

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

Что такое wget и зачем он нужен

Wget — свободная команда для неинтерактивной загрузки файлов по HTTP(S) и FTP. Применяется для автоматизации загрузок, зеркалирования сайтов и восстановления прерванных загрузок. Простая команда и параметры делают её удобной для скриптов и cron-задач.

Важно: wget не исполняет JavaScript и не рендерит страницы; он оперирует на уровне протоколов передачи.

Быстрая справка по параметрам (кратко)

  • -i FILE — взять список URL из файла.
  • -P DIRECTORY — сохранить файлы в указанную директорию.
  • -O FILE — записать вывод в указанный файл (переименование).
  • -c — продолжить прерванную загрузку.
  • –limit-rate RATE — ограничить скорость (например, 300K или 300KБ/с).
  • -b — запустить в фоне и писать лог в wget-log.

Загрузка одного файла

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

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

Загрузка файла одной командой wget

После завершения вы увидите файл в текущем каталоге. Проверьте с помощью:

ls -l

Пакетная загрузка из списка URL

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

  1. Создайте файл со списком URL, например my_pdfs:
vim my_pdfs
  1. Запустите загрузку:
wget -i my_pdfs

Подготовка списка PDF для загрузки

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

Проверка загруженных файлов:

ls -l

Местоположение загруженных файлов

Сохранение в нужную директорию

Чтобы указать каталог для сохранения, используйте -P:

wget -P /path/to/dir https://download.aircrack-ng.org/aircrack-ng-1.7.tar.gz

Например, создать папку Myfile и скачать туда:

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

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

Если указываете относительный путь, он интерпретируется от текущей рабочей директории; для абсолютного пути укажите полный путь.

Переименование файла при загрузке

Ключ -O позволяет задать имя сохраняемого файла и одновременно изменить место сохранения:

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

Пользователь задаёт имя загружаемого файла с помощью wget

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

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

Переименование файла при загрузке

Возобновление прерванных загрузок

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

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

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

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

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

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

Ограничение скорости загрузки

Чтобы не загружать весь канал, ограничьте скорость с помощью –limit-rate. Пример:

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

Здесь 300K обычно означает ~300 КБ/с (килобайт в секунду). Можно указывать суффиксы: K, M.

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

Фоновая загрузка

Запустите загрузку в фоне с -b. Wget создаст файл wget-log в рабочем каталоге, где записывает статус загрузки.

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

Проверяйте прогресс, читая wget-log:

tail -f wget-log

Фоновая загрузка файла с помощью wget

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

  • Сайты, которые требуют выполнения JavaScript (динамическая загрузка контента) — wget не рендерит JS.
  • Сложная аутентификация с CSRF/динамическими токенами — может требоваться браузерная автоматизация или cookie-менеджмент.
  • Загрузка из облачных сервисов с ограничениями или семантикой (например, некоторые CDNs) — могут потребоваться специальные параметры или обходы.
  • Загрузка множественных ресурсов с учётом зависимости (например, зеркалирование сайта с корректной структурой ссылок) — возможно, придётся использовать дополнительные опции (–mirror, –convert-links).

Альтернативы и когда их использовать

  • curl — гибче для отправки HTTP-запросов, удобен для API и потоковой передачи; не всегда удобен для возобновления загрузки по умолчанию.
  • aria2 — лучше для многопоточных загрузок и ускорения за счёт сегментирования файла; удобен для массовых загрузок и торрент/metalinks.
  • wget + скрипты/cron — хорош для простых автоматизаций.
  • GUI-менеджеры загрузок — удобны пользователям, которым не нравится терминал.

Выбор: для простоты и скриптинга — wget; для сложных HTTP-сценариев и API — curl; для максимальной скорости — aria2.

Ментальные модели и эвристики при работе с загрузками

  • Идем от простого к сложному: сначала попробуйте прямой URL, затем добавляйте параметры.
  • Требование idempotence: повторный запуск команды должен приводить к тому же результату или корректно возобновляться (-c).
  • Безопасность прежде всего: проверяйте источник и целостность (контрольные суммы).
  • Логирование: для фоновых/пакетных загрузок всегда сохраняйте логи и проверяйте их.

Мини-методология: план массовых загрузок

  1. Подготовьте список URL и проверьте доступность (curl -I или wget –spider).
  2. Организуйте папки приёмники и права доступа.
  3. Настройте ограничение скорости (–limit-rate) и параллельность (если используете aria2).
  4. Запускайте в фоне (-b) и логируйте прогресс.
  5. После загрузки проверяйте целостность: размер, контрольную сумму (sha256sum), дату модификации.
  6. Автоматизируйте повторные попытки с экспоненциальной задержкой при ошибках.

Критерии приёмки (как проверить успешную загрузку)

  • Файл существует и его размер совпадает с ожидаемым (ls -l).
  • Контрольная сумма совпадает с эталонной (sha256sum файл).
  • Нет сообщений об ошибках в wget-log.
  • При возобновлении загрузка стартует с момента остановки (-c) и завершается корректно.

Роль‑ориентированный чеклист

  • Начинающий пользователь:
    • Убедиться, что URL прямой и доступен.
    • Скачивать в домашнюю папку или временную.
    • Проверять ls -l и sha256sum.
  • Системный администратор:
    • Использовать -P для организации хранилища.
    • Лимитировать скорость и ставить в cron при необходимости.
    • Логировать wget-log и настраивать ротацию логов.
  • Разработчик/автоматизатор:
    • Интегрировать wget в скрипты с обработкой ошибок.
    • Использовать –spider для проверки URL перед скачиванием.

Шпаргалка: полезные команды

# Одиночная загрузка
wget https://example.com/file.tar.gz

# Из файла со списком URL
wget -i urls.txt

# Сохранить в указанную директорию
wget -P /var/downloads https://example.com/file.tar.gz

# Сохранить с другим именем
wget -O newname.tar.gz https://example.com/file.tar.gz

# Продолжить прерванную загрузку
wget -c https://example.com/file.tar.gz

# Ограничить скорость (300K ~ 300 КБ/с)
wget --limit-rate 300K https://example.com/file.tar.gz

# Запустить в фоне
wget -b https://example.com/file.tar.gz

Тестовые сценарии и контроль качества

  • Тест 1: скачать небольшой файл и сравнить размер с ожидаемым.
  • Тест 2: прервать загрузку на 30% и проверить, что wget -c продолжает её.
  • Тест 3: пакетная загрузка из файла со 100 ссылками, проверить наличие всех файлов и логов.
  • Тест 4: ограничение скорости — измерить фактическую пропускную способность и убедиться, что она не превышает установленную.

Безопасность и приватность при загрузке

  • Проверяйте источник: официальные сайты, подписанные релизы, HTTPS.
  • Сравнивайте контрольные суммы и подписи PGP, если доступны.
  • Будьте осторожны с прямыми ссылками из непроверенных источников — они могут содержать вредоносные файлы.
  • Для приватных URL используйте безопасное хранение токенов/куки и ограничения доступа к скриптам.

Краткое сравнение: wget vs curl vs aria2

  • wget: прост в использовании, удобен для массовых загрузок, умеет возобновлять загрузки и работать в фоне.
  • curl: лучше для API, более гибок в HTTP-сценариях, потоковая обработка данных.
  • aria2: многопоточные скачивания, повышенная скорость через сегментацию, поддержка metalinks и BitTorrent.

Короткое объявление (100–200 слов)

Wget — незаменимый инструмент для тех, кто работает в терминале и хочет быстро управлять загрузками в GNU/Linux. Оно позволяет скачивать одиночные файлы, массово загружать по списку URL, сохранять файлы в нужные директории, переименовывать их на лету и возобновлять прерванные загрузки. Wget поддерживает фоновую работу и ограничение скорости, что делает его удобным для автоматизированных задач и скриптов. В этой статье приведены практические примеры команд, советы по безопасности, тестовые сценарии и альтернативные подходы (curl, aria2). После прочтения вы сможете уверенно использовать wget в повседневных задачах: от простой загрузки до настройки стабильного процесса массового скачивания.

Итог

Wget — лёгкий в освоении и мощный инструмент для управления загрузками из сети. Он хорошо подходит для автоматизации, фоновых задач и восстановления прерванных загрузок. Если вам нужно больше гибкости с HTTP или многопоточностью — смотрите curl и aria2. Всегда проверяйте источники и контрольные суммы загружаемых файлов.

Важно: осторожно относитесь к неизвестным ссылкам и используйте проверенные источники.

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

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

Как разделить меш в Blender
3D моделирование

Как разделить меш в Blender

Как увеличить изображение без потери качества
Фото

Как увеличить изображение без потери качества

Как создать влог на iPhone — полное руководство
Видео

Как создать влог на iPhone — полное руководство

Как отразить экран на телевизор — все способы
Руководство

Как отразить экран на телевизор — все способы

Бесконечная прокрутка в Vue 3 — useInfiniteScroll
Vue

Бесконечная прокрутка в Vue 3 — useInfiniteScroll

Чёрный экран iPhone: как восстановить устройство
iPhone

Чёрный экран iPhone: как восстановить устройство