Curl – одна из самых полезных команд в Linux. Здесь собрано все, что вам нужно знать о curl, включая краткое руководство по ее использованию
Команда curl в Linux – это отличный способ автоматизировать процесс загрузки и выгрузки данных с сервера.Curl поддерживает все основные протоколы, такие как HTTP, HTTPS, SFTP, FTP и другие
Такие функции, как приостановка и возобновление передачи, ограничение пропускной способности, поддержка прокси и аутентификация пользователей, делают его идеальной утилитой командной строки для передачи данных
Давайте углубимся и узнаем, что такое curl и как его использовать
Что такое команда curl?
Команда curl была изначально разработана для автоматизации периодической загрузки курсов валют с веб-страницы. Курсы валют в реальном времени предоставляли пользователям IRC эквивалент шведской кроны в долларах США. Популярность curl росла экспоненциально по мере того, как люди начали использовать его повсеместно
Curl – один из старейших и самых популярных проектов с открытым исходным кодом. Его название расшифровывается как Client URL , и он используется в бесчисленных системах по всему миру.Curl находит свое применение в различных областях, таких как веб-разработка и тестирование ошибок
Разработчикам не нужно набирать команды вручную; они могут объединить их в сценарии и использовать для автоматизации сложных операций. Вот несколько примеров использования curl
Установка curl в Linux
Хотя этот популярный пакет предустановлен в большинстве дистрибутивов Linux, вы можете легко загрузить curl, если он еще не установлен на вашем компьютере. Используйте следующие команды для установки curl на вашу машину
В Ubuntu и Debian:
sudo apt install curl
В дистрибутивах на базе RHEL, таких как CentOS и Fedora:
sudo yum install curl
Чтобы установить curl на Arch Linux, введите:
sudo pacman -S curl
Похожие: Как управлять службами systemd с помощью команды systemctl в Linux
Как использовать команду curl
Curl использует следующий синтаксис для всех своих команд:
curl options url
где options и url меняются в зависимости от поставленной задачи.Curl загружает исходный код URL, когда вы не упоминаете опцию/задачу. Последняя версия curl также угадывает протокол— если он не указан в URL— и по умолчанию выбирает HTTP
Вот несколько полезных команд curl для выполнения различных функциональных задач:
Загрузка файла с помощью команды curl
Вы можете загрузить ресурсы через указанный URL с помощью команды curl. У этой команды есть два флага, которые вы можете использовать; -o и -O
- Команда -O сохраняет файл в текущем каталоге с тем же именем, что и на удаленном сервере.
- Команда -o , с другой стороны, позволяет выбрать имя и расположение файла.
Вот пример обеих команд:
curl -O https://cdn.jsdelivr.net/npm/vue/dist/vue.js
Файл загружается в текущий каталог, с оригинальным именем, как на удаленном сервере
curl -o newfile.tar.gz http://yourdomain.com/yourfile.tar.gz
Когда вы выполните вышеупомянутую команду, curl скачает и сохранит файл как newfile.tar.gz. Обратите внимание, что в качестве входных данных вам придется указать имя файла и путь к каталогу
Возобновление прерванной загрузки с помощью curl
Загрузка может прерваться по разным причинам, например, из-за перебоев в сети или неработающей ссылки. Функция возобновления прерванной загрузки помогает в таких ситуациях, избавляя вас от необходимости заново скачивать весь файл
Используйте флаг -C с -o или -O для возобновления прерванной загрузки с помощью curl
curl -C -O http://yourdomain.com/yourfile.tar.gz
Загрузка нескольких файлов с помощью curl
Не существует специальной команды для одновременной загрузки нескольких файлов через curl, но вы можете использовать флаги -o или -O несколько раз в одной команде для достижения аналогичных результатов
Например:
curl -O http://website1.com/file1.iso -O https://website2.com/file2.iso
Вышеупомянутая команда загрузит файлы ISO с обоих URL одновременно в текущий каталог
Получение HTTP-заголовков веб-страницы
HTTP-заголовки содержат важную информацию, такую как агент пользователя, тип содержимого и кодировка. Вы можете запросить HTTP-заголовок URL с помощью флагов -I (заглавная i, а не L) и –http2 :
curl -I --http2 https://www.ubuntu.com/
Выход:
Команда -I показывает различную информацию, включая данные о программном обеспечении сервера, дату, тип содержимого, статус X-cache и многое другое
Укажите максимальную скорость передачи данных
Передача файлов обычно занимает большую часть пропускной способности, ограничивая выполнение других задач
Чтобы решить эту проблему, вы можете установить максимальную скорость передачи для ваших загрузок с помощью curl. Используйте метод –limit-rate , за которым следует модификатор k , m или g (обозначает килобайты, мегабайты или гигабайты соответственно)
Следующая команда ограничивает скорость передачи данных до 1 МБ/с:
curl --limit-rate 1m -O https://dl.google.com/go/go1. 10. 3.linux-amd64.tar.gz
Выход:
Передача файлов через FTP и curl
Вы можете передавать файлы с помощью протокола передачи файлов, обращаясь к любому FTP-серверу с помощью curl.Curl предоставляет вам функциональность для загрузки и выгрузки файлов после подключения к FTP-серверу
Используйте следующую команду для подключения к FTP-серверу:
curl -u username:password ftp://ftp.example.com/
где имя пользователя и пароль – учетные данные для входа на сервер
Вы можете загрузить любой файл с сервера, указав URL файла в следующей команде:
curl -u username:password -O ftp://ftp.example.com/file.tar.gz
Вы также можете загружать файлы на FTP-сервер, используя флаг -T :
curl -T newfile.tar.gz -u username:password ftp://ftp.example.com
Команда -T , за которой следует указанный файл, загружает его на FTP-сервер
Похожие: Как безопасно передавать файлы в Linux с помощью sftp
Использование прокси-серверов с помощью curl
Curl поддерживает множество различных прокси-серверов, таких как HTTPS, HTTP и SOCKS. Вы можете использовать эти прокси для безопасной передачи данных с помощью curl
Используйте следующую команду для настройки прокси в curl:
curl -x 192. 168. 44. 1:8888 http://linux.com/
Опция -x подключает вас к порту 8888 на сервере 192. 168. 44. 1. Убедитесь, что вы заменили данные прокси в команде на прокси, к которому вы хотите подключиться. Вышеупомянутый прокси-сервер не требует аутентификации, но вы можете получить доступ к защищенному прокси, используя следующий синтаксис:
curl -U username:password -x 192. 168. 44. 1:8888 http://linux.com/
Укажите имя пользователя и пароль , разделенные знаком C olon рядом с флагом -U
Просмотр сведений о версии
Эта команда может пригодиться, когда вы хотите проверить информацию о версии пакета. Используйте флаг –version для просмотра версии curl:
curl --version
В выводе должна быть указана версия curl, его протоколы и возможности
Определение преимуществ команды curl в Linux
Команда curl оснащена множеством опций для автоматизации передачи данных на вашей машине. Функция возобновления прерванной загрузки и поддержка FTP пригодится в нескольких приложениях
Примеры в этом учебнике призваны показать наиболее популярные команды curl с соответствующими кодами, чтобы помочь вам лучше понять команду curl
Комментировать