Как скачать файл в терминале Linux (wget / curl) и докачать оборванный архив
Проблема загрузки файлов через консоль
На удаленных Linux серверах нет графического браузера. Любые дистрибутивы, бэкапы, архивы и скрипты скачиваются через консольные утилиты wget и curl. При скачивании больших файлов (от нескольких гигабайт) нестабильный интернет часто обрывает связь на 99%, вынуждая неопытных пользователей начинать скачивание с самого начала.
Wget против cURL: что выбрать новичку?
| Параметр | Wget | cURL |
|---|---|---|
| Основное назначение | Простое скачивание файлов и целых сайтов | Передача данных, тестирование API и веб-запросов |
| Докачка обрыва (-c) | Поддерживается «из коробки» по умолчанию | Требует передачи дополнительных флагов (-C -) |
| Поведение по умолчанию | Сохраняет файл на диск с исходным именем | Выводит текст файла прямо на экран терминала |
Практические команды скачивания
1. Простое скачивание через wget
wget https://example.com/files/archive.zip2. Возобновление оборванной загрузки (Докачка)
Если связь оборвалась на середине, перейдите в папку с недокачанным файлом и запустите команду с ключом -c (continue):
wget -c https://example.com/files/large_database.sql.gz(Утилита проверит размер уже скачанной части на диске и продолжит загрузку с нужного байта).
3. Скачивание файла в фоновом режиме
Чтобы не держать окно терминала открытым при скачивании файла на 50 Гб, добавьте ключ -b (background):
wget -b -c https://example.com/huge_backup.tar.gz # Проверить прогресс фоновой закачки: tail -f wget-log4. Скачивание через curl с сохранением имени
По умолчанию
curlвыводит данные в консоль. Чтобы сохранить файл на диск, обязательно укажите флаг -O (большая буква O) или задайте новое имя через -o (маленькая буква o):# Сохранить с оригинальным именем: curl -O https://example.com/archive.zip # Докачать оборванный файл через curl: curl -C - -O https://example.com/archive.zip
Частые вопросы (FAQ)
Что делать, если wget выдает ошибку: ERROR: cannot verify certificate?
Если на сервере назначения самоподписанный или просроченный SSL-сертификат, добавьте флаг отключения проверки: wget --no-check-certificate https://example.com/file.zip.
Как скачать файл и сразу сохранить его под другим именем?
Используйте ключ -O (большая буква): wget -O new_name.zip https://example.com/old_name_v1.zip.
Как ограничить скорость скачивания, чтобы не забивать интернет-канал?
Используйте параметр --limit-rate: wget --limit-rate=2M https://example.com/file.zip (ограничит скорость до 2 Мб/с).
Почему докачка через wget -c начинается сначала?
Докачка возможна только в том случае, если удаленный веб-сервер поддерживает HTTP-заголовок Range (частичную передачу контента). Если сервер не поддерживает Range, докачка невозможна.