Что такое команда curl в Linux и что с ее помощью можно делать

Команда 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-based дистрибутивах, таких как 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 для выполнения различных функциональных задач:

Download a File Using 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 (обозначает килобайты, мегабайты или гигабайты соответственно).


Следующая команда ограничивает скорость передачи до 1MBps:

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/

...где username и password - учетные данные для входа на сервер.

Вы можете загрузить любой файл с сервера, указав URL файла в следующей команде:

curl -u имя пользователя:пароль -O ftp://ftp.example.com/file.tar.gz

Вы также можете загрузить файлы на FTP сервер, используя флаг -T:

curl -T newfile.tar.gz -u имя пользователя:пароль 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, рядом с флагом -U.

View Version Details

Эта команда может пригодиться, когда вы хотите проверить информацию о версии пакета. Используйте флаг --version для просмотра версии curl:

curl --version

В выводе должна быть указана версия curl, его протоколы и возможности.


Определение преимуществ команды curl в Linux


Curl оснащен множеством опций для автоматизации передачи данных на вашей машине. Функция возобновления прерванной загрузки и поддержка FTP пригодится вам в нескольких приложениях.

Примеры в этом учебнике призваны показать наиболее популярные команды curl с соответствующими кодами, чтобы помочь вам лучше понять команду curl.

Ваше имя: *
Ваш e-mail: *
Код: Кликните на изображение чтобы обновить код, если он неразборчив
Введите код: