Выполненный make help
и Вы будете видеть, для чего каждый нацелен, эффективно делают. Или читайте Makefile
.
В целом необходимо работать make clean
перед перекомпиляцией для обеспечения Вы создаете программу путем, Вы настроили ее. В зависимости от Makefile
, цели не могут быть перекомпилированы, если продукты компиляции/соединения уже найдены. Нормальное Makefile
должен включать проверки, которые определяют, необходима ли перекомпиляция. Но если Вы хотите быть на безопасной стороне, просто работать make clean
.
Основные отличия:
wget
главная сильная сторона по сравнению с curl
его способность состоит в том, чтобы загрузить рекурсивно.wget
командная строка только. Нет никакого lib или чего-либо, но curl
функции приводятся в действие libcurl.curl
поддержки FTP
, FTPS
, HTTP
, HTTPS
, SCP
, SFTP
, TFTP
, TELNET
, DICT
, LDAP
, LDAPS
, FILE
, POP3
, IMAP
, SMTP
, RTMP
и RTSP
. wget
поддержки HTTP
, HTTPS
и FTP
.curl
сборки и работают на большем количестве платформ, чем wget
.wget
выпущен в соответствии с лицензией копилефта бесплатного программного обеспечения (GPL GNU). curl
выпущен в соответствии с бесплатным программным обеспечением разрешающая лицензия (производная MIT).curl
загрузка предложений и передающие возможности. wget
только плоскость предложений HTTP поддержка POST. Вы видите больше деталей в следующей ссылке:
На самом деле существенное различие - это curl
включает библиотеку (libcurl
), и той библиотекой широко пользуются другие приложения. wget
автономно.
В нескольких словах:
wget
- инструмент для загрузки файлов с серверовcurl
- инструмент, позволяющий обмениваться запросами/ответами с серверомwget
Wget позволяет загружать файлы только с сервера HTTP
/HTTPS
или FTP
. Вы даете ему ссылку, и он автоматически загружает файл, на который указывает ссылка. Он автоматически строит запрос.
curl
Curl в отличие от wget позволяет строить запрос по своему усмотрению. Это дает большую свободу пользователю и делает потрясающий инструмент отладки. Добавьте к этому ещё одно ключевое отличие: множество поддерживаемых протоколов. Curl поддерживает FTP
, FTPS
, Gopher
, HTTP
, HTTPS
, SCP
, SFTP
, TFTP
, Telnet
, DICT
, LDAP
, LDAPS
, IMAP
, POP3
, SMTP
, RTSP
и URI
. Соедините эти два ключевых момента и вы получите удивительный инструмент для тестирования протоколов, настройки тестового сервера и т.д.
Как многие говорят, вы можете загрузить файл с помощью curl. Однако, это полезно только в том случае, если Вы случайно захотите загрузить файл с сервера, который использует протокол, который wget не поддерживает.
.Я провел несколько тестов производительности с помощью wget и curl и получил следующий результат::
Среднее время работы при загрузке проверено 100 раз 1 МБ файл:
wget: 0.844s
cURL: 0.680s
Среднее время работы при загрузке проверено 100 раз 5 МБ Файл:
wget: 1.075s
cURL: 0.863s
Среднее время работы при загрузке проверено 100 раз 10 МБ Файл:
wget: 1.182s
cURL: 1.074s
Размер команды в системе:
wget: 371K
cURL: 182K
Основные отличия (1.curl
в основном напоминает об общении по различным протоколам, wget
в основном напоминает о загрузке, 2. curl
предоставляет -и основан на -библиотеке libcurl
, и другие программы могут использовать то же самое библиотека также wget
является автономной )упоминалась в других ответах, но здесь также стоит подчеркнуть еще одно отличие, объясненное в примере.
Еще одна интересная особенность curl
, невозможная с wget
, — это связь с сокетами UNIX (, т. е. связь даже без сети). Например, мы можем использовать curl
для связи с Docker Engine , используя его сокет в /var/run/docker.sock
, чтобы получить список всех извлеченных образов Docker в формате JSON (, полезных для «программирования», в отличие от команда docker images
CLI, которая хороша для «читабельности»):
curl --unix-socket /var/run/docker.sock http://localhost/images/json | jq
wget
делает, который упущен из этого ответа, http, зеркально отражающий (или 'глобальный поиск') способность.curl
очень хорошо в том, что это делает, но это один не предназначается, чтобы использоваться для зеркального отражения веб-сайта. – jsbillings 26.09.2015, 15:38