Linux'ta cURL vs. wget: Fark Nedir?
Yayınlanan: 2022-07-13
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ı ağ 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ı.
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
Dosya alınır ve orijinal adıyla bilgisayarınıza kaydedilir.
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
Alınan dosya bizim seçtiğimiz isimle kaydedilir.
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ı
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
Dosya bizim için indirildi. İndirme sırasında bir ASCII ilerleme çubuğu görüntülenir.
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
Bu, bir test FTP sunucusundan bir dosyayı indirir ve yeniden adlandırır.
İ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.