DEV Community

Андрей Викулов (VProger)
Андрей Викулов (VProger)

Posted on • Originally published at viku-lov.ru on

curl, wget, rsync, dig и nslookup: практическое руководство для Linux-администраторов

curl, wget, rsync, dig и nslookup: практическое руководство для Linux-администраторов

Утилиты curl, wget, rsync, dig и nslookup — мощные инструменты командной строки для работы с сетью, файлами и DNS в Linux. Они широко используются в системном администрировании, разработке и автоматизации. В статье разобраны установка, основные сценарии использования, популярные флаги и примеры команд для дистрибутивов CentOS, Ubuntu и Debian, а также применение утилит в контексте CMS «Битрикс».

Curl

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>"

Enter fullscreen mode Exit fullscreen mode

Здесь -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

Enter fullscreen mode Exit fullscreen mode

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

Enter fullscreen mode Exit fullscreen mode

После этого можно запустить мастер установки через браузер.

Дополнительные примеры wget:


Рекурсивная загрузка сайта (осторожно с объёмом)

wget -r -l 2 -np -k https://example.com/docs/

Скачивание с повторными попытками при ошибке

wget -t 5 -w 10 -c https://example.com/unstable.iso

Enter fullscreen mode Exit fullscreen mode

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/

Enter fullscreen mode Exit fullscreen mode

Для переноса базы данных можно использовать mysqldump, а затем скопировать дамп через rsync.

Дополнительные примеры rsync:


Копирование с исключением каталогов (кэш, логи)

rsync -avz --exclude='cache/' --exclude='\*.log' /var/www/site/ user@backup:/backup/site/

Просмотр изменений без копирования (dry-run)

rsync -avzn /source/ user@host:/dest/

Enter fullscreen mode Exit fullscreen mode

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

Enter fullscreen mode Exit fullscreen mode

Это поможет убедиться, что почтовые серверы настроены корректно.

Дополнительные примеры dig:


Запрос к конкретному DNS-серверу (например, 8.8.8.8)

dig @8.8.8.8 example.com

Проверка TXT-записи (SPF, DKIM, верификация)

dig +short TXT example.com

Enter fullscreen mode Exit fullscreen mode

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

Enter fullscreen mode Exit fullscreen mode

Это поможет убедиться, что домен правильно резолвится в IP-адрес.

Дополнительный пример nslookup — обратный DNS (PTR):


Узнать доменное имя по IP (например, для проверки почтового сервера)

nslookup 8.8.8.8

Enter fullscreen mode Exit fullscreen mode

Важные замечания

  • При работе с curl и wget для передачи чувствительных данных (пароли, токены) всегда используйте HTTPS и по возможности не передавайте учётные данные в командной строке (они видны в ps); предпочтительнее переменные окружения или конфигурационные файлы.
  • Для синхронизации с помощью rsync убедитесь, что на обоих узлах установлена совместимая версия утилиты; при использовании --delete сначала проверяйте список изменений флагом -n (dry-run).
  • Ответы DNS-утилит (dig, nslookup) зависят от того, к какому DNS-серверу идёт запрос; при диагностике указывайте сервер явно (dig @8.8.8.8 example.com) или смотрите цепочку через dig +trace.

Когда использовать curl vs wget

| Задача | Предпочтительно | Причина |

|--------|------------------|--------|

| Один запрос, проверка кода/заголовков | curl | Гибкий вывод (-w, -o /dev/null), все протоколы |

| Скачать файл по URL с продолжением при обрыве | wget | Встроенный -c, не нужны доп. флаги |

| Рекурсивная загрузка дерева (документация, статика) | wget | Нативная поддержка -r, -l, -np |

| POST, заголовки, API, форма | curl | Полный контроль метода и тела запроса |

| Фоновая загрузка без nohup | wget | Флаг -b |

| Скрипты и автоматизация (одноразовый запрос) | curl | Чаще уже установлен, единообразный вывод |

Оба есть на типичном сервере; выбор по сценарию, а не по принципу «один вместо другого».

dig vs nslookup: что выбрать в 2026

  • dig — основной инструмент для диагностики DNS: предсказуемый вывод, удобные флаги (+short, +trace, @server), легко парсить в скриптах. Рекомендуется для скриптов и последовательной проверки нескольких записей.
  • nslookup — интерактивный режим и простые разовые запросы; вывод менее структурирован. В 2026 году по-прежнему входит в dnsutils/bind-utils, подходит, если привычнее или нужен только быстрый A/MX.
  • Для документации и скриптов ориентируйтесь на dig ; для ручной проверки «что резолвит домен» допустимы оба.

Практические сценарии администратора

Проверка DNS перед переносом Bitrix

Перед сменой хостинга или 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

Enter fullscreen mode Exit fullscreen mode

После переключения 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/

Enter fullscreen mode Exit fullscreen mode

Если dig не возвращает IP — проблема DNS или сети до DNS. Если curl таймаутит — файрвол, неверный порт или сервис не слушает.

Проверка редиректов и HTTPS

Проверить цепочку редиректов (например, 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

Enter fullscreen mode Exit fullscreen mode

Чек-лист типовых проблем и команд

| Проблема | Что проверить | Команда |

|----------|----------------|--------|

| Домен не резолвится | DNS, кэш резолвера | dig +short A site.ru; dig @8.8.8.8 +short A site.ru |

| Сайт не открывается по HTTPS | Сертификат, порт 443 | curl -sI https://site.ru/; openssl s_client -connect site.ru:443 |

| Редирект уходит не туда | Цепочка редиректов | curl -sI -L https://site.ru/ |

| После переноса старый контент | Кэш DNS (TTL), CDN | dig +short A site.ru с разных DNS; снизить TTL заранее |

| Файл не докачивается | Обрыв связи | wget -c URL |

| Нужно сравнить каталоги перед rsync | Что изменится | rsync -avn /src/ /dest/ |

| Почта не уходит / не принимается | MX и PTR | dig 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/

Enter fullscreen mode Exit fullscreen mode

Read more on viku-lov.ru

Top comments (0)