curl, wget, rsync, dig и nslookup: практическое руководство для Linux-администраторов
Полное руководство по установке, настройке и использованию ключевых сетевых утилит в CentOS, Ubuntu и Debian. Примеры применения в Битрикс CMS, разбор популярных флагов и типовых сценариев.

Утилиты curl, wget, rsync, dig и nslookup — мощные инструменты командной строки для работы с сетью, файлами и DNS в Linux. Они широко используются в системном администрировании, разработке и автоматизации. В статье разобраны установка, основные сценарии использования, популярные флаги и примеры команд для дистрибутивов CentOS, Ubuntu и Debian, а также применение утилит в контексте CMS «Битрикс».
Curl — инструмент для передачи данных по различным протоколам (HTTP, HTTPS, FTP, SFTP и др.). Применяется для тестирования API, загрузки файлов, отладки веб-приложений и автоматизации задач.
Установка- Ubuntu/Debian:
sudo apt install curl - CentOS/RHEL:
sudo yum install curl(илиsudo dnf install curlна новых версиях)
Проверка установки: curl --version.
-OСохраняет файл с оригинальным именемcurl -O https://example.com/file.zip-oСохраняет файл под указанным именемcurl -o myfile.zip https://example.com/file.zip-IВыводит только HTTP-заголовкиcurl -I https://example.com-LСледует HTTP-редиректамcurl -L https://example.com-uАутентификацияcurl -u username:password https://example.com-sТихий режим (без прогресса)curl -s -o file.zip https://example.com/file.zipПример использования в Битриксе: загрузка данных из 1С через API. Для обмена данными между 1С и Битриксом можно использовать curl для отправки запросов к специальным обработчикам Битрикса. Например, для загрузки файла с ценами:
curl -v -u "логин:пароль" -X POST \
-F "filename=prices.xml" \
-F "file=@/path/to/prices.xml" \
"https://example.com/bitrix/admin/1c_exchange.php?type=catalog&mode=file&sessid=<sessid>"
Здесь -u задаёт аутентификацию, -X POST — метод запроса, -F — передачу файлов (multipart/form-data).
Дополнительные примеры curl:
# Проверка доступности сайта и кода ответа
curl -o /dev/null -s -w "%{http_code}\n" https://example.com
# Запрос с кастомными заголовками (например, для API)
curl -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" \
https://api.example.com/v1/data
# Ограничение скорости загрузки (100 КБ/с)
curl --limit-rate 100K -O https://example.com/largefile.iso
Wget
Wget — утилита для загрузки файлов по HTTP, HTTPS и FTP. Поддерживает продолжение прерванных загрузок, рекурсивную загрузку сайтов и работу с REST API.
Установка- Ubuntu/Debian:
sudo apt install wget - CentOS/RHEL:
sudo yum install wget(илиsudo dnf install wget)
Проверка установки: wget --version.
-OСохраняет файл под указанным именемwget -O myfile.zip https://example.com/file.zip-cПродолжает прерванную загрузкуwget -c https://example.com/largefile.iso-bЗагружает в фоновом режимеwget -b https://example.com/file.zip--limit-rateОграничивает скорость загрузкиwget --limit-rate=200k https://example.com/file.zip-rРекурсивная загрузкаwget -r -l 1 https://example.com/docs/Пример использования в Битриксе: скачивание установочного скрипта bitrixsetup.php для установки CMS:
cd /home/bitrix/www/
wget https://www.1c-bitrix.ru/download/scripts/bitrixsetup.php
После этого можно запустить мастер установки через браузер.
Дополнительные примеры wget:
# Рекурсивная загрузка сайта (осторожно с объёмом)
wget -r -l 2 -np -k https://example.com/docs/
# Скачивание с повторными попытками при ошибке
wget -t 5 -w 10 -c https://example.com/unstable.iso
Rsync
Rsync — утилита для синхронизации файлов и директорий с минимальным расходом трафика. Широко применяется для резервного копирования, миграции и зеркалирования данных между серверами.
Установка- Ubuntu/Debian:
sudo apt install rsync - CentOS/RHEL:
sudo yum install rsync(илиsudo dnf install rsync)
Проверка установки: rsync --version.
-a (или --archive)Сохраняет права доступа, ссылки, владельцев и группыrsync -a /source/ /dest/-v (или --verbose)Выводит подробные сведения о процессе копированияrsync -av /source/ /dest/-z (или --compress)Сжимает данные при передаче по сетиrsync -avz /source/ user@host:/dest/--deleteУдаляет в приёмнике файлы, отсутствующие в источникеrsync -av --delete /src/folder/ /dest/folder/-n (dry-run)Показать изменения без копированияrsync -avn /src/ /dest/Пример использования в Битриксе: перенос файлов сайта на другой сервер:
rsync -avz /var/www/bitrix/ root@новый_сервер:/var/www/bitrix/
Для переноса базы данных можно использовать mysqldump, а затем скопировать дамп через rsync.
Дополнительные примеры rsync:
# Копирование с исключением каталогов (кэш, логи)
rsync -avz --exclude='cache/' --exclude='*.log' /var/www/site/ user@backup:/backup/site/
# Просмотр изменений без копирования (dry-run)
rsync -avzn /source/ user@host:/dest/
Dig
Dig — утилита для отправки DNS-запросов. Позволяет проверять записи (A, MX, TXT, NS, CNAME и др.), делать запросы к конкретным DNS-серверам, отслеживать цепочку DNS-запросов.
Установка- Ubuntu/Debian:
sudo apt install dnsutils - CentOS/RHEL:
sudo yum install bind-utils(илиsudo dnf install bind-utils)
Проверка установки: dig -v.
+shortВыводит только IP-адрес или значение записиdig +short example.com+noall +answerПоказывает только секцию ответаdig +noall +answer example.com+traceПоказывает полную цепочку DNS-разрешенияdig +trace example.com@serverЗапрос к указанному DNS-серверуdig @8.8.8.8 example.comПример использования: проверка MX-записей домена для настройки почты в Битриксе:
dig MX example.bitrix.ru
Это поможет убедиться, что почтовые серверы настроены корректно.
Дополнительные примеры dig:
# Запрос к конкретному DNS-серверу (например, 8.8.8.8)
dig @8.8.8.8 example.com
# Проверка TXT-записи (SPF, DKIM, верификация)
dig +short TXT example.com
Nslookup
Nslookup — утилита для получения информации о DNS-записях. Позволяет узнать IP-адрес, A, NS, SOA, MX-записи для домена.
Установка- Ubuntu/Debian:
sudo apt install dnsutils - CentOS/RHEL:
sudo yum install bind-utils(илиsudo dnf install bind-utils)
Проверка установки: nslookup (входит в пакет dnsutils/bind-utils).
-type=MXЗапрос MX-записейnslookup -type=MX example.com-type=NSЗапрос NS-записейnslookup -type=NS example.com-timeoutУстанавливает время ожидания ответаnslookup -timeout=10 example.comПример использования: проверка A-записи домена перед настройкой сайта в Битриксе:
nslookup example.bitrix.ru
Это поможет убедиться, что домен правильно резолвится в IP-адрес.
Дополнительный пример nslookup — обратный DNS (PTR):
# Узнать доменное имя по IP (например, для проверки почтового сервера)
nslookup 8.8.8.8
Важные замечания
- При работе с
curlиwgetдля передачи чувствительных данных (пароли, токены) всегда используйте HTTPS и по возможности не передавайте учётные данные в командной строке (они видны вps); предпочтительнее переменные окружения или конфигурационные файлы. - Для синхронизации с помощью
rsyncубедитесь, что на обоих узлах установлена совместимая версия утилиты; при использовании--deleteсначала проверяйте список изменений флагом-n(dry-run). - Ответы DNS-утилит (
dig,nslookup) зависят от того, к какому DNS-серверу идёт запрос; при диагностике указывайте сервер явно (dig @8.8.8.8 example.com) или смотрите цепочку черезdig +trace.
-w, -o /dev/null), все протоколыСкачать файл по URL с продолжением при обрывеwgetВстроенный -c, не нужны доп. флагиРекурсивная загрузка дерева (документация, статика)wgetНативная поддержка -r, -l, -npPOST, заголовки, API, формаcurlПолный контроль метода и тела запросаФоновая загрузка без nohupwgetФлаг -bСкрипты и автоматизация (одноразовый запрос)curlЧаще уже установлен, единообразный выводОба есть на типичном сервере; выбор по сценарию, а не по принципу «один вместо другого».
dig vs nslookup: что выбрать в 2026- dig — основной инструмент для диагностики DNS: предсказуемый вывод, удобные флаги (
+short,+trace,@server), легко парсить в скриптах. Рекомендуется для скриптов и последовательной проверки нескольких записей. - nslookup — интерактивный режим и простые разовые запросы; вывод менее структурирован. В 2026 году по-прежнему входит в dnsutils/bind-utils, подходит, если привычнее или нужен только быстрый A/MX.
- Для документации и скриптов ориентируйтесь на dig; для ручной проверки «что резолвит домен» допустимы оба.
Перед сменой хостинга или A-записи убедитесь, что новый сервер отдаёт ожидаемый контент и что TTL не приведёт к долгому кэшированию старого IP у пользователей.
# Текущий IP домена и NS
dig +short A site.ru
dig +short NS site.ru
# Проверка с конкретного DNS (например, провайдера)
dig @8.8.8.8 +short A site.ru
# Убедиться, что на новом IP отдаётся нужный сайт (подставьте новый IP)
curl -sI -H "Host: site.ru" http://NEW_IP/ | head -5
После переключения DNS — повторить dig +short A site.ru с разных серверов (@8.8.8.8, @1.1.1.1), пока не увидите новый IP везде.
Последовательность без лишних шагов: DNS → доступность порта/сервера → HTTP/HTTPS.
# 1. Резолвится ли домен
dig +short A site.ru
# 2. Отвечает ли хост по HTTP (с сервера или своей машины)
curl -sI --connect-timeout 5 http://site.ru/
# 3. Код ответа и редиректы
curl -sI -L --connect-timeout 5 https://site.ru/
Если dig не возвращает IP — проблема DNS или сети до DNS. Если curl таймаутит — файрвол, неверный порт или сервис не слушает.
Проверить цепочку редиректов (например, http → https, www → без www) и корректность сертификата.
# Куда в итоге приводит и с каким кодом
curl -sI -L -w "Final URL: %{url_effective}\n" https://site.ru/
# Проверка сертификата (срок, issuer)
echo | openssl s_client -servername site.ru -connect site.ru:443 2>/dev/null | openssl x509 -noout -dates -issuer
Чек-лист типовых проблем и команд
dig +short A site.ru; dig @8.8.8.8 +short A site.ruСайт не открывается по HTTPSСертификат, порт 443curl -sI https://site.ru/; openssl s_client -connect site.ru:443Редирект уходит не тудаЦепочка редиректовcurl -sI -L https://site.ru/После переноса старый контентКэш DNS (TTL), CDNdig +short A site.ru с разных DNS; снизить TTL заранееФайл не докачиваетсяОбрыв связиwget -c URLНужно сравнить каталоги перед rsyncЧто изменитсяrsync -avn /src/ /dest/Почта не уходит / не принимаетсяMX и PTRdig MX site.ru; dig +short -x IP_СЕРВЕРА# Доступность и код ответа
curl -o /dev/null -s -w "%{http_code}\n" https://site.ru/
# Только заголовки
curl -sI https://site.ru/
# Следовать редиректам
curl -sI -L https://site.ru/
# A-запись коротко
dig +short A site.ru
# DNS к конкретному серверу
dig @8.8.8.8 +short A site.ru
# Цепочка разрешения DNS
dig +trace site.ru
# MX и TXT
dig +short MX site.ru
dig +short TXT site.ru
# Синхронизация с просмотром (dry-run)
rsync -avn /src/ user@host:/dest/
# Синхронизация с удалением лишнего на приёмнике
rsync -avz --delete /src/ user@host:/dest/