WindowsMacПрограммное обес..НастройкиБезопасностьПродуктивностьЛинуксАндроид (Androi.. Все

Как использовать команды wget и curl в Linux

Отредактировано 3 Несколько недель назад от ExtremeHow Редакционная команда

Командная строкаСетевые подключенияHTTP-запросыПередача файловЗагрузкаУтилитыСкриптингАвтоматизацияВебИнструменты

Как использовать команды wget и curl в Linux

Перевод обновлен 3 Несколько недель назад

Linux — это мощная операционная система, которая широко используется для выполнения различных задач. Двумя наиболее распространенными инструментами для взаимодействия с вебом через командную строку являются wget и curl. Эти инструменты необходимы каждому, кто хочет загружать файлы, делать HTTP-запросы или взаимодействовать с интернет-ресурсами прямо из терминала. В этом руководстве вы узнаете основы работы с командами wget и curl, обсудите их различия и получите рекомендации по их эффективному использованию.

Wget: начало работы

wget — это консольная утилита, которая позволяет загружать файлы из Интернета. Она поддерживает протоколы HTTP, HTTPS и FTP, что делает её универсальным инструментом для работы с веб-ресурсами. Чтобы начать, сначала проверьте, установлен ли wget на вашем Linux-системе. Откройте терминал и введите:

wget --version

Если wget установлен, вы увидите его номер версии. Если нет, вы можете установить его, используя пакетный менеджер вашей дистрибуции. Например, в Ubuntu или Debian используйте:

sudo apt-get install wget

В Fedora используйте:

sudo dnf install wget

Базовое использование wget

Как только wget установлен, вы можете использовать его для загрузки файлов. Самый простой способ использовать wget — это ввести команду, за которой следует URL адрес файла, который вы хотите скачать:

wget http://example.com/file.txt

Эта команда скачает file.txt с http://example.com и сохранит его в текущий каталог. wget использует текущий каталог в качестве базового для сохранения файлов, если не указано иное.

Возобновление загрузки с помощью wget

Одной из самых полезных функций wget является возможность возобновления прерванных загрузок. Если ваша загрузка была прервана, вы можете возобновить её с помощью опции -c:

wget -c http://example.com/largefile.zip

Если largefile.zip был частично загружен, эта команда возобновит его загрузку.

Загрузка нескольких файлов с помощью wget

Чтобы загрузить несколько файлов с помощью wget, вы можете использовать текстовый файл, содержащий список всех URL адресов, которые вы хотите скачать. Например, создайте файл с именем urls.txt с URL-адресами файлов, затем передайте его wget с опцией -i:

wget -i urls.txt

Эта команда скачает каждый файл, указанный в urls.txt.

Рекурсивная загрузка с помощью wget

wget также поддерживает рекурсивные загрузки, что может быть полезно для зеркалирования целого веб-сайта. Чтобы wget загружал файлы рекурсивно, используйте опцию -r:

wget -r http://example.com

Эта команда загрузит все файлы, ссылающиеся на указанную веб-страницу, на глубину ссылок по умолчанию — 5.

Ограничение скорости загрузки с помощью wget

Иногда вы можете захотеть ограничить скорость загрузки, чтобы избежать избыточного использования пропускной способности. Вы можете использовать опцию --limit-rate, чтобы ограничить скорость загрузки:

wget --limit-rate=100k http://example.com/file.iso

Эта команда скачает файл на максимальной скорости 100 килобайт в секунду.

Curl: начало работы

curl — это еще один инструмент командной строки, который позволяет взаимодействовать с веб-ресурсами. Он более универсален, чем wget, особенно когда речь идет о выполнении запросов, отличных от простых скачиваний файлов. Чтобы проверить, установлен ли curl, введите:

curl --version

Если curl не установлен, вы можете установить его с помощью следующей команды:

Для Ubuntu или Debian:

sudo apt-get install curl

Для Fedora:

sudo dnf install curl

Базовое использование curl

Самое простое использование curl — это отобразить содержимое URL-адреса прямо в терминале. Вы можете сделать это, набрав:

curl http://example.com

Эта команда получит контент с http://example.com и выведет его в окне вашего терминала.

Скачивание файлов с помощью curl

В отличие от wget, curl по умолчанию не сохраняет файлы. Чтобы сохранить вывод в файл, используйте опцию -o, за которой следует желаемое имя файла:

curl -o file.txt http://example.com/file.txt

Эта команда скачает file.txt и сохранит его как file.txt в текущем каталоге.

Возобновление загрузки с помощью curl

Чтобы возобновить частично загруженный файл с помощью curl, используйте опцию -C -:

curl -C - -o file.txt http://example.com/file.txt

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

Использование curl для HTTP-запросов

curl особенно мощен для выполнения HTTP-запросов и может обрабатывать различные типы запросов, такие как POST, PUT, DELETE и т.д. Чтобы сделать GET-запрос (который является запросом по умолчанию), просто введите:

curl http://api.example.com/data

Для POST-запроса вы можете отправлять данные, используя опцию -d:

curl -d "param1=value1¶m2=value2" http://api.example.com/post

Это отправляет POST-запрос с параметрами param1 и param2.

Использование заголовков с curl

curl позволяет добавлять собственные заголовки к вашим запросам, что может быть полезным для взаимодействия с API. Используйте опцию -H, чтобы включить заголовки:

curl -H "Authorization: Bearer token" http://api.example.com/data

Эта команда добавляет заголовок Authorization с маркером доступа.

Использование прокси с wget и curl

Обе программы wget и curl могут использовать прокси-сервер при выполнении запросов. Для wget вы можете установить прокси, настроив переменные окружения http_proxy и https_proxy:

export http_proxy="http://proxyaddress:port"
wget http://example.com/file.txt

Для curl вы можете указать прокси, используя опцию -x:

curl -x http://proxyaddress:port http://example.com/file.txt

Резюме

Обе программы wget и curl являются чрезвычайно полезными инструментами для взаимодействия с веб-ресурсами из командной строки в Linux. wget отлично подходит для прямых загрузок файлов и поддерживает такие функции, как рекурсивная загрузка, в то время как curl предоставляет больше гибкости для взаимодействия с веб-службами и работы с различными типами HTTP-запросов. Знание того, как эффективно использовать эти инструменты, может значительно улучшить ваш рабочий процесс и повысить производительность при работе с командной строкой Linux.

В заключение, освоение команд wget и curl может стать ценным ресурсом для пользователей, которые часто работают с веб-взаимодействиями. Независимо от того, загрузка ли это файлов, доступ к API или парсинг данных с веб-сайтов, эти инструменты предоставляют надежные механизмы для достижения ваших целей прямо из терминала.

Если вы найдете что-то неправильное в содержании статьи, вы можете


Комментарии