Отредактировано 3 Несколько недель назад от ExtremeHow Редакционная команда
Командная строкаСетевые подключенияHTTP-запросыПередача файловЗагрузкаУтилитыСкриптингАвтоматизацияВебИнструменты
Перевод обновлен 3 Несколько недель назад
Linux — это мощная операционная система, которая широко используется для выполнения различных задач. Двумя наиболее распространенными инструментами для взаимодействия с вебом через командную строку являются wget
и curl
. Эти инструменты необходимы каждому, кто хочет загружать файлы, делать HTTP-запросы или взаимодействовать с интернет-ресурсами прямо из терминала. В этом руководстве вы узнаете основы работы с командами wget
и curl
, обсудите их различия и получите рекомендации по их эффективному использованию.
wget
— это консольная утилита, которая позволяет загружать файлы из Интернета. Она поддерживает протоколы HTTP, HTTPS и FTP, что делает её универсальным инструментом для работы с веб-ресурсами. Чтобы начать, сначала проверьте, установлен ли wget
на вашем Linux-системе. Откройте терминал и введите:
wget --version
Если wget
установлен, вы увидите его номер версии. Если нет, вы можете установить его, используя пакетный менеджер вашей дистрибуции. Например, в Ubuntu или Debian используйте:
sudo apt-get install wget
В Fedora используйте:
sudo dnf install wget
Как только wget
установлен, вы можете использовать его для загрузки файлов. Самый простой способ использовать wget
— это ввести команду, за которой следует URL адрес файла, который вы хотите скачать:
wget http://example.com/file.txt
Эта команда скачает file.txt
с http://example.com
и сохранит его в текущий каталог. wget
использует текущий каталог в качестве базового для сохранения файлов, если не указано иное.
Одной из самых полезных функций wget
является возможность возобновления прерванных загрузок. Если ваша загрузка была прервана, вы можете возобновить её с помощью опции -c
:
wget -c http://example.com/largefile.zip
Если largefile.zip
был частично загружен, эта команда возобновит его загрузку.
Чтобы загрузить несколько файлов с помощью wget
, вы можете использовать текстовый файл, содержащий список всех URL адресов, которые вы хотите скачать. Например, создайте файл с именем urls.txt
с URL-адресами файлов, затем передайте его wget
с опцией -i
:
wget -i urls.txt
Эта команда скачает каждый файл, указанный в urls.txt
.
wget
также поддерживает рекурсивные загрузки, что может быть полезно для зеркалирования целого веб-сайта. Чтобы wget
загружал файлы рекурсивно, используйте опцию -r
:
wget -r http://example.com
Эта команда загрузит все файлы, ссылающиеся на указанную веб-страницу, на глубину ссылок по умолчанию — 5.
Иногда вы можете захотеть ограничить скорость загрузки, чтобы избежать избыточного использования пропускной способности. Вы можете использовать опцию --limit-rate
, чтобы ограничить скорость загрузки:
wget --limit-rate=100k http://example.com/file.iso
Эта команда скачает файл на максимальной скорости 100 килобайт в секунду.
curl
— это еще один инструмент командной строки, который позволяет взаимодействовать с веб-ресурсами. Он более универсален, чем wget
, особенно когда речь идет о выполнении запросов, отличных от простых скачиваний файлов. Чтобы проверить, установлен ли curl
, введите:
curl --version
Если curl
не установлен, вы можете установить его с помощью следующей команды:
Для Ubuntu или Debian:
sudo apt-get install curl
Для Fedora:
sudo dnf install curl
Самое простое использование curl
— это отобразить содержимое URL-адреса прямо в терминале. Вы можете сделать это, набрав:
curl http://example.com
Эта команда получит контент с http://example.com
и выведет его в окне вашего терминала.
В отличие от wget
, curl
по умолчанию не сохраняет файлы. Чтобы сохранить вывод в файл, используйте опцию -o
, за которой следует желаемое имя файла:
curl -o file.txt http://example.com/file.txt
Эта команда скачает file.txt
и сохранит его как file.txt
в текущем каталоге.
Чтобы возобновить частично загруженный файл с помощью curl
, используйте опцию -C -
:
curl -C - -o file.txt http://example.com/file.txt
Эта команда возобновит загрузку и продолжит с того места, где вы остановились.
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
позволяет добавлять собственные заголовки к вашим запросам, что может быть полезным для взаимодействия с API. Используйте опцию -H
, чтобы включить заголовки:
curl -H "Authorization: Bearer token" http://api.example.com/data
Эта команда добавляет заголовок Authorization
с маркером доступа.
Обе программы 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 или парсинг данных с веб-сайтов, эти инструменты предоставляют надежные механизмы для достижения ваших целей прямо из терминала.
Если вы найдете что-то неправильное в содержании статьи, вы можете