Команда curl в Linux

Опубликовано admin - пт, 05/20/2022 - 10:46

Команда curl предназначена для передачи данных по сети без взаимодействия с пользователем. Она предустановлена во многих дистрибутивах Linux.

Команда curl Linux

Утилита поддерживает множество протоколов и её возможности огромны.

Содержание

Синтаксис

curl [опции...] <url>

Опции

-d, --data <data>
Данные HTTP POST
-f, --fail
Быстрый сбой без вывода ошибок
-h, --help <category>
Получить помощь по командам
-i, --include
Включить заголовки ответа протокола в выходные данные
-o, --output <file>
Запись в файл
-O, --remote-name
Запись вывода в файл с именем удаленного файла
-s, --silent
Безмолвный режим
-T, --upload-file <file>
Передать локальный ФАЙЛ в пункт назначения
-u, --user <user:password>
Пользователь сервера и пароль
-A, --user-agent <name>
Отправить User-Agent <имя> на сервер
-v, --verbose
Сделать операцию более разговорчивой
-V, --version
Показать номер версии и выйти

Установка

 

Проверьте, установлен ли curl в вашей системе

 oleg@mobile:~:$ curl
curl: try 'curl --help' for more information

При его отсутствии будет получено следующее

oleg@mobile:~:$ curl
curl command not found

Команда curl легко устанавливается в любом дистрибутиве Linux.

Установка curl в Ubuntu

$ sudo apt install curl

Примеры использования команды curl в Linux

Скачивание файлов

Скачивание файла с сохранением под оригинальным именем

oleg@mobile:~/build/slackbuild64-15.0:$ curl -O https://slackbuilds.org/slackbuilds/15.0/games/extremetuxracer.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2458  100  2458    0     0   2616      0 --:--:-- --:--:-- --:--:--  2614

Скачивание файла с сохранением под другим именем

oleg@mobile:~/build/slackbuild64-15.0:$ curl -o etr.tar.gz https://slackbuilds.org/slackbuilds/15.0/games/extremetuxracer.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2458  100  2458    0     0   3872      0 --:--:-- --:--:-- --:--:--  3870

Результат

oleg@mobile:~/build/slackbuild64-15.0:$ ls -l
итого 8
-rw-r--r-- 1 oleg users 2458 мая 20 10:03 etr.tar.gz
-rw-r--r-- 1 oleg users 2458 мая 20 09:59 extremetuxracer.tar.gz

Возобновление загрузки

Для того чтобы в случае обрыва соединения при скачивании большого файла не пришлось его закачивать заново следует использовать опцию -O. Она позволит продолжить загрузку файла.

Ограничение скорости скачивания

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

Ограничение скорости до 250K

$ curl --limit-rate 250K https://releases.ubuntu.com/22.04/ubuntu-22.04-desktop-amd64.iso22.04/ubuntu-22.04-desktop-amd64.iso -O 

Защищённый FTP-сервер

В этом случае используется опция -u и указываются имя пользователя и пароль

$ curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.protection.com/

После входа в систему в домашнем каталоге пользователя выводится список файлов и каталогов.

Для скачивания одного из файлов выполняется следующая команда

$ curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.protection.com/file-1.tar.gz

Для загрузки файла на сервер используется опция -T

$ curl -T file-new.tar.gz -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.protection.com/ 

Заключение

Из вышеперечисленных примеров ясно, насколько нужным и полезным инструментом в Linux является команда curl. При работе в командной строке умение пользоваться этой утилитой будет весьма полезным.

Поделиться с друзьями