Command Line Shenanigans - Tomfoolery In The Terminal
Оглавление:
- Установка Curl
- Установите Curl в Ubuntu и Debian
- Установите Curl на CentOS и Fedora
- Как использовать Curl
- Сохранить вывод в файл
- Скачать несколько файлов
- Возобновить загрузку
- Получить HTTP-заголовки URL
- Изменить User-Agent
- Укажите максимальную скорость передачи
- Передача файлов через FTP
- Отправить куки
- Использование прокси
- Вывод
curl
- это утилита командной строки для передачи данных с или на сервер, предназначенная для работы без взаимодействия с пользователем. С помощью
curl
вы можете загружать или выгружать данные, используя один из поддерживаемых протоколов, включая HTTP, HTTPS, SCP, SFTP и FTP.
curl
предоставляет ряд опций, позволяющих возобновить передачу, ограничить пропускную способность, поддержку прокси, аутентификацию пользователя и многое другое.
В этом руководстве мы покажем вам, как использовать инструмент скручивания, на практических примерах и подробных объяснениях наиболее распространенных вариантов скручивания.
Установка Curl
Пакет curl уже предустановлен в большинстве дистрибутивов Linux.
Чтобы проверить, установлен ли пакет Curl в вашей системе, откройте консоль, введите
curl
и нажмите enter. Если у вас установлен
curl
, система напечатает
curl: try 'curl --help' or 'curl --manual' for more information
. В противном случае вы увидите что-то вроде
curl command not found
.
Если
curl
не установлен, вы можете легко установить его с помощью менеджера пакетов вашего дистрибутива.
Установите Curl в Ubuntu и Debian
sudo apt update
sudo apt install curl
Установите Curl на CentOS и Fedora
Как использовать Curl
Синтаксис для команды
curl
следующий:
curl
В простейшем виде, когда вызывается без какой-либо опции,
curl
отображает указанный ресурс в стандартный вывод.
Например, чтобы получить домашнюю страницу
example.com
вы должны запустить:
curl example.com
Команда напечатает исходный код домашней страницы
example.com
в окне вашего терминала.
Если протокол не указан,
curl
пытается угадать протокол, который вы хотите использовать, и он по умолчанию будет
HTTP
.
Сохранить вывод в файл
Чтобы сохранить результат команды
curl
, используйте опцию
-o
или
-O
.
vue-v2.6.10.js
-o
сохраняет файл с предопределенным именем файла, которое в приведенном ниже примере
vue-v2.6.10.js
:
curl -o vue-v2.6.10.js
Верхний регистр
-O
сохраняет файл с его исходным именем файла:
Скачать несколько файлов
Чтобы загрузить несколько файлов одновременно, используйте несколько опций
-O
, а затем URL-адрес файла, который вы хотите загрузить.
В следующем примере мы загружаем iso файлы Arch Linux и Debian:
curl -O http://mirrors.edge.kernel.org/archlinux/iso/2018.06.01/archlinux-2018.06.01-x86_64.iso \
-O
Возобновить загрузку
Вы можете возобновить загрузку, используя опцию
-C -
. Это полезно, если ваше соединение обрывается во время загрузки большого файла, и вместо того, чтобы начать загрузку с нуля, вы можете продолжить предыдущую.
Например, если вы загружаете iso-файл Ubuntu 18.04 с помощью следующей команды:
curl -O
и вдруг ваше соединение обрывается, вы можете возобновить загрузку с:
Получить HTTP-заголовки URL
Заголовки HTTP - это разделенные двоеточиями пары ключ-значение, содержащие такую информацию, как пользовательский агент, тип содержимого и кодировка. Заголовки передаются между клиентом и сервером с помощью запроса или ответа.
Используйте параметр
-I
для получения только заголовков HTTP указанного ресурса:
curl -I --http2
Опция
-L
указывает
curl
следовать любому перенаправлению, пока оно не достигнет конечного пункта назначения:
Изменить User-Agent
Иногда при загрузке файла удаленный сервер может быть настроен на блокировку Curl User-Agent или на возврат различного содержимого в зависимости от устройства посетителя и браузера.
В подобных ситуациях, чтобы эмулировать другой браузер, используйте опцию
-A
.
Например, для эмуляции Firefox 60 вы должны использовать:
curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0"
Укажите максимальную скорость передачи
Опция
--limit-rate
позволяет вам ограничить скорость передачи данных. Значение может быть выражено в байтах, килобайтах с суффиксом
k
, мегабайтах с суффиксом
m
и гигабайтах с суффиксом
g
.
В следующем примере
curl
загрузит двоичный файл Go и ограничит скорость загрузки до 1 МБ:
curl --limit-rate 1m -O
Эта опция полезна для предотвращения использования
curl
всей доступной полосы пропускания.
Передача файлов через FTP
Чтобы получить доступ к защищенному FTP-серверу с помощью
curl
, используйте параметр
-u
и укажите имя пользователя и пароль, как показано ниже:
curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/
После входа в систему команда перечисляет все файлы и каталоги в домашнем каталоге пользователя.
Вы можете загрузить один файл с FTP-сервера, используя следующий синтаксис:
curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/file.tar.gz
Чтобы загрузить файл на FTP-сервер, используйте
-T
а затем имя файла, который вы хотите загрузить:
curl -T newfile.tar.gz -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/
Отправить куки
Иногда вам может потребоваться сделать HTTP-запрос с определенными файлами cookie для доступа к удаленному ресурсу или для устранения проблемы.
По умолчанию при запросе ресурса с помощью
curl
файлы cookie не отправляются и не сохраняются.
Чтобы отправить куки на сервер, используйте ключ
-b
за которым следует имя файла, содержащего куки или строку.
Например, чтобы загрузить rpm-файл Oracle Java JDK
jdk-10.0.2_linux-x64_bin.rpm
вам нужно передать файл cookie с именем
oraclelicense
со значением
a
:
curl -L -b "oraclelicense=a" -O
Использование прокси
curl
поддерживает различные типы прокси, включая HTTP, HTTPS и SOCKS. Для передачи данных через прокси-сервер используйте параметр
-x
(
--proxy
), а затем URL-адрес прокси.
Следующая команда загружает указанный ресурс с использованием прокси на порт
8888
192.168.44.1
:
curl -x 192.168.44.1:8888
Если прокси-сервер требует аутентификации, используйте параметр
-U
(
--proxy-user
), за которым следует имя пользователя и пароль, разделенные двоеточием (
user:password
):
curl -U username:password -x 192.168.44.1:8888
Вывод
curl
- это инструмент командной строки, который позволяет передавать данные с или на удаленный хост. Это полезно для устранения неполадок, загрузки файлов и многого другого.
Примеры, показанные в этом руководстве, просты, но демонстрируют наиболее часто используемые параметры
curl
и предназначены для того, чтобы помочь вам понять, как работает команда
curl
.
Для получения дополнительной информации о
curl
посетите страницу документации Curl.
Команда Echo в Linux с примерами
Команда echo является одной из самых основных и часто используемых команд в Linux. Аргументы, передаваемые echo, выводятся на стандартный вывод.
Linux cut команда с примерами
Вырезать - это утилита командной строки, которая позволяет вырезать части строк из указанных файлов или переданных данных и выводить результат в стандартный вывод. В этом руководстве мы покажем вам, как использовать команду Linux Cut, на практических примерах и подробных объяснениях наиболее распространенных параметров резки.
Linux date команда с примерами
Команда date отображает или устанавливает системную дату. Чаще всего он используется для печати даты и времени в разных форматах и для расчета будущих и прошлых дат.