Linux'ta cURL vs. wget: Fark Nedir?

Yayınlanan: 2022-07-13
Bir bash istemi gösteren Linux dizüstü bilgisayar
fatmawati achmad zaenuri/Shutterstock.com

Bir grup Linux kullanıcısına neyle dosya indirdiklerini sorarsanız, bazıları wget , diğerleri cURL diyecektir. Fark nedir ve biri diğerinden daha iyi mi?

Bağlantı ile Başladı

Hükümet araştırmacıları, 1960'lara kadar farklı ağları birbirine bağlamaya başlayarak, birbirine bağlı işlerine yol açıyordu. Ancak bildiğimiz şekliyle internetin doğuşu 1 Ocak 1983'te TCP/IP protokolünün uygulanmasıyla gerçekleşti. Bu eksik halkaydı. Farklı bilgisayarların ve ağların ortak bir standart kullanarak iletişim kurmasına izin verdi.

1991 yılında CERN, birkaç yıldır dahili olarak kullandıkları World Wide Web yazılımını yayınladı. İnternet için bu görsel kaplamaya ilgi anında ve yaygındı. 1994'ün sonunda 10.000 web sunucusu ve 10 milyon kullanıcı vardı.

İnternet Nasıl Çalışır?
İLGİLİ İnternet Nasıl Çalışır?

Bu iki dönüm noktası (internet ve web), bağlantının çok farklı yüzlerini temsil ediyor. Ancak aynı işlevlerin çoğunu da paylaşırlar.

Bağlantı tam da bu demektir. Sunucu gibi bir uzak cihaza bağlanıyorsunuz. Ve ona bağlanıyorsun çünkü onda ihtiyacın olan ya da istediğin bir şey var. Ancak bu uzaktan barındırılan kaynağı Linux komut satırından yerel bilgisayarınıza nasıl alırsınız?

1996 yılında, uzaktan barındırılan kaynakları indirmenize izin veren iki yardımcı program doğdu. Bunlar, Ocak ayında piyasaya sürülen wget ve Aralık ayında piyasaya sürülen cURL . İkisi de Linux komut satırında çalışır. İkisi de uzak sunuculara bağlanır ve ikisi de sizin için bir şeyler alır.

Ancak bu, aynı işi yapmak için iki veya daha fazla araç sağlayan Linux'un olağan durumu değildir. Bu yardımcı programların farklı amaçları ve farklı uzmanlıkları vardır. Sorun şu ki, hangisinin ve ne zaman kullanılacağı konusunda kafa karışıklığına neden olacak kadar benzerler.

İki cerrah düşünün. Muhtemelen kalp baypas ameliyatınızı bir göz cerrahının yapmasını ya da katarakt ameliyatınızı kalp cerrahının yapmasını istemezsiniz. Evet, ikisi de son derece yetenekli tıp uzmanları, ancak bu, birbirlerinin yerine geçebilecekleri anlamına gelmez.

wget ve cURL için de geçerlidir.

Farklı Amaçlar, Farklı Özellikler, Bazı Örtüşmeler

wget komutundaki “w”, kullanım amacının bir göstergesidir. Birincil amacı, web sayfalarını, hatta web sitelerinin tamamını indirmektir. man sayfası, HTTP, HTTPS ve FTP protokollerini kullanarak Web'den dosya indirmek için bir yardımcı program olarak tanımlar.

Buna karşılık cURL , HTTPS'nin yanı sıra SCP, SFTP ve SMSB dahil 26 protokolle çalışır. man sayfası , bir sunucuya veya sunucudan veri aktarmak için bir araç olduğunu söylüyor. Özellikle web siteleriyle çalışmak üzere tasarlanmamıştır. Desteklediği birçok internet protokolünden herhangi birini kullanarak uzak sunucularla etkileşim kurmak içindir.

Bu nedenle, wget ağırlıklı olarak web sitesi merkezliyken cURL , sade vanilya internet düzeyinde daha derin bir düzeyde çalışan bir şeydir.

wget , web sayfalarını alabilir ve web sitelerinin tamamını indirmek için web sunucularındaki tüm dizin yapılarında yinelemeli olarak gezinebilir. Ayrıca, alınan sayfalardaki bağlantıları, uzak web sunucusundaki benzerlerini değil, yerel bilgisayarınızdaki web sayfalarını doğru şekilde gösterecek şekilde ayarlayabilir.

cURL , uzak sunucuyla etkileşime girmenizi sağlar. Dosyaları yükleyebilir ve alabilir. cURL , SOCKS4 ve SOCKS5 proxy'leri ve proxy'ye HTTPS ile çalışır. GZIP, BROTLI ve ZSTD formatlarındaki sıkıştırılmış dosyaların otomatik olarak açılmasını destekler. cURL ayrıca paralel olarak birden fazla aktarımı indirmenize izin verir.

Aralarındaki örtüşme, wget ve cURL her ikisinin de web sayfalarını almanıza ve FTP sunucularını kullanmanıza izin vermesidir.

Bu yalnızca kaba bir ölçümdür, ancak man sayfalarının uzunluğuna bakarak iki aracın göreli özellik kümelerini biraz değerlendirebilirsiniz. Test makinemizde wget için man sayfası 1433 satır uzunluğundadır. man için cURL sayfası, bir kuyruklu 5296 satırdır.

wget'e Hızlı Bir Bakış

wget , GNU projesinin bir parçası olduğu için, onu tüm Linux dağıtımlarında önceden kurulmuş olarak bulmalısınız. Kullanımı, özellikle en yaygın kullanımları için basittir: web sayfalarını veya dosyaları indirmek.

Web sayfasının veya uzak dosyanın URL'si ile wget komutunu kullanmanız yeterlidir.

 wget https://file-examples.com/wp-content/uploads/2017/02/file-sample_100kB.doc 

Wget ile bir Word belgesi indirme

Dosya alınır ve orijinal adıyla bilgisayarınıza kaydedilir.

Bir Word belgesini indirirken wget komutundan çıktı

Dosyayı yeni bir adla kaydetmek için -O (çıktı belgesi) seçeneğini kullanın.

 wget -O word-file-test.doc https://file-examples.com/wp-content/uploads/2017/02/file-sample_100kB.doc 

wget ile dosya indirme ve yeni bir adla kaydetme

Alınan dosya bizim seçtiğimiz isimle kaydedilir.

İndirilen dosya, komut satırında verilen adla yeniden adlandırılır.

Web sitelerini alırken -O seçeneğini kullanmayın. Bunu yaparsanız, alınan tüm dosyalar bir dosyaya eklenir.

Bir web sitesinin tamamını almak için -m (ayna) seçeneğini ve web sitesinin ana sayfasının URL'sini kullanın. Ayrıca, web sayfalarını düzgün bir şekilde oluşturmak için gereken tüm destekleyici dosyaların da indirildiğinden emin olmak için --page-requisites kullanmak isteyeceksiniz. --convert-links seçeneği, alınan dosyadaki bağlantıları, web sitesindeki harici konumlar yerine yerel bilgisayarınızdaki doğru hedefleri gösterecek şekilde ayarlar.

İLGİLİ: Ultimate Komut Satırı İndirme Aracı wget Nasıl Kullanılır

cURL'de Hızlı Bir Bakış

cURL bağımsız bir açık kaynak projesidir. Manjaro 21 ve Fedora 36'ya önceden yüklenmiştir ancak Ubuntu 21.04'e yüklenmesi gerekiyordu.

Bu, Ubuntu'ya cURL yükleme komutudur.

 sudo apt yükleme kıvrılması 

Ubuntu'da cURL kurulumu

wget ile yaptığımız aynı dosyayı indirmek ve aynı isimle kaydetmek için bu komutu kullanmamız gerekiyor. -o (çıktı) seçeneğinin cURL ile küçük harf olduğuna dikkat edin.

 curl -o word-file-test.doc https://file-examples.com/wp-content/uploads/2017/02/file-sample_100kB.doc 

cURL ile dosya indirme ve yeni bir adla kaydetme

Dosya bizim için indirildi. İndirme sırasında bir ASCII ilerleme çubuğu görüntülenir.

Dosya indirilir ve komut satırında belirtilen adla kaydedilir.

Bir FTP sunucusuna bağlanmak ve bir dosya indirmek için -u (kullanıcı) seçeneğini kullanın ve aşağıdaki gibi bir kullanıcı adı ve parola çifti sağlayın:

 curl -o test.png -u demo:şifre ftp://test.rebex.net/pub/example/KeyGenerator.png 

cURL ile bir FTP sunucusundan dosya indirme

Bu, bir test FTP sunucusundan bir dosyayı indirir ve yeniden adlandırır.

cURL ile bir FTP sunucusundan başarılı bir indirme

İLGİLİ: Linux Komut Satırından Dosya İndirmek için curl Nasıl Kullanılır

En İyisi Yok

“Ne yapmaya çalışıyorsun?” diye sormadan “Hangisini kullanayım” cevabını vermek mümkün değil.

wget ve cURL ne yaptığını anladığınızda, rekabet içinde olmadıklarını anlayacaksınız. Aynı gereksinimi karşılamıyorlar ve aynı işlevselliği sağlamaya çalışmıyorlar.

Web sayfalarını ve web sitelerini indirmek, wget üstünlüğünün yattığı yerdir. Yaptığınız buysa, wget kullanın. Başka herhangi bir şey için - örneğin karşıya yüklemek veya çok sayıda başka protokolden herhangi birini kullanmak - cURL kullanın.