Введение в сетевую утилиту wget
Консольная утилита wget выступает фундаментальным инструментом любого системного администратора при взаимодействии с удаленными ресурсами по протоколам HTTP, HTTPS и FTP. В рамках этой статьи разберем прикладное использование утилиты на реальных примерах: научимся гибко контролировать имена сохраняемых объектов, корректно возобновлять прерванные сессии передачи данных и выносить длительные сетевые задачи в фоновый режим.
Подготовка окружения и базовые сценарии загрузки
Первым делом актуализируем репозитории операционной системы и удостоверимся в наличии свежего бинарного пакета wget.

Чтобы не засорять домашний каталог тестовыми данными, организуем изолированную директорию под наши эксперименты и сразу перейдем в нее.

По умолчанию утилита выполняет прямое сетевое обращение к указанному веб-адресу и помещает целевой файл в текущую рабочую директорию, сохраняя его исходное имя с удаленного сервера.
⚙️ [Ключевые параметры командной строки]
-O : перенаправляет поток скачивания в явно заданный файл или путь назначения.-c : активирует механизм возобновления ранее оборванной сессии передачи данных.-b : мгновенно отвязывает процесс от терминала и переводит его в фоновый режим.-i : принимает текстовый файл со списком ссылок для пакетного скачивания.--limit-rate : жестко ограничивает полосу пропускания, занимаемую утилитой.-q : подавляет вывод логов и шкалы прогресса (режим тишины).-r : включает рекурсивный обход директорий и веб-страниц на сервере.

Переопределение имени файла (-O) и сохранение в произвольную папку (-P)
Для отработки опций адресации вернемся в подготовленную рабочую директорию (~/wget_test).

Флаг -O позволяет сразу присвоить получаемому объекту произвольное имя — в данном случае переименуем поток в custom_sample.dat.

Сформируем вложенный каталог (~/wget_test/downloads), в который будем складывать входящие файлы без изменения текущего рабочего каталога сессии.

Ключ -P указывает утилите целевой путь для сохранения, избавляя от необходимости предварительно переходить в каталог назначения.

Проинспектируем состояние файловой структуры и размеры полученных объектов через ls -lh.

Восстановление разорванных сетевых соединений (-c) при работе с большими объемами данных
Переключаемся в директорию ~/wget_test для проведения теста на устойчивость к сбоям связи.

Смоделируем аварийный обрыв соединения посреди передачи: системная утилита timeout принудительно прервет процесс wget ровно через 2 секунды после старта.

Оценим состояние частично полученного файла 10Mb.dat. Вывод подтверждает, что на диске остался лишь фрагмент от полного объема в 10 МБ.

Параметр -c (continue) заставляет wget отправить серверу заголовок с позицией смещения и докачать недостающие байты вместо повторной передачи всего объема с нуля. Это критически важно при нестабильном канале связи и работе с емкими образами или бэкапами.

Дросселирование скорости (–limit-rate) и запуск задач в фоне (-b)
Снова убеждаемся, что находимся в тестовом каталоге (~/wget_test).

Чтобы процесс загрузки не утилизировал весь интернет-канал на сервере, лимитируем предельную скорость передачи до 200 КБ/с с помощью аргумента --limit-rate. Такой подход гарантирует стабильность соседних сетевых сервисов.

Опция -b запускает загрузку как отдельный демон: сессия терминала освобождается мгновенно, а процесс не погибнет при закрытии SSH-соединения. Ход выполнения автоматически протоколируется в файл wget-log.

Сделаем секундную паузу через sleep 1, предоставив демону время для инициализации и создания дескриптора журнала.

Команда tail -n 10 wget-log позволяет оперативно проверить свежие записи журнала: статус рукопожатия с сервером, HTTP-ответы и динамику передачи данных.

Мы подробно рассмотрели ключевые механизмы работы с wget в ОС Linux — от базового синтаксиса до отказоустойчивой докачки и автономного фонового исполнения. Грамотное комбинирование этих опций позволяет автоматизировать сетевые операции и поддерживать высокую надежность серверной инфраструктуры.