İlk bakışta, hem curl hem de wget’in , dosyaları Linux komut satırı ortamı aracılığıyla bir ağ üzerinden aktarmak için kullanılan Linux tabanlı yardımcı programlar olduğunu düşünmekte haklısınız . Ancak, Linux kılavuz sayfasına (man sayfası) göre:
- wget , web tabanlı dosyaların etkileşimli olmayan bir ağ indiricisi olarak tanımlanır.
- curl , etkin/çalışan bir sunucudan/sunucuya dosya aktarımında kullanılan bir URL aracı olarak tanımlanır.
Bununla birlikte, bir kullanıcı olarak , bu araçlardan herhangi birine rahatça yerleşebilmeniz için curl ve wget hakkında daha fazla veriye ihtiyacınız vardır .
Curl ve Wget Arasındaki İşlevsel Benzerlikler
Farklarına geçmeden önce, curl ve wget dosya aktarım araçlarının benzerliklerine bakalım.
- Her iki araç da dosyaları FTP ve HTTP(S) protokollerine dayalı olarak aktarmak için yalnızca Linux komut satırı ortamında kullanılabilir.
- Varsayılan işlevleri, kullanıcı etkileşimi gerektirmez.
- Hem ücretsiz hem de açık kaynaklı yazılımlardır.
- Her ikisi de taşınabilirdir ve tek bir işletim sistemi dağıtımıyla sınırlı değildir.
- Her ikisi de HSTS ve HTTP proxy’yi destekler.
- HTTP POST istekleri hem curl hem de wget yoluyla gönderilebilir.
- HTTP çerezleri her iki araç tarafından da desteklenir.
Curl ve Wget’i Farklılaştıran Nedir?
Artık bu iki komutun ortak noktalarını bildiğimize göre, farklılıklarına bakmanın zamanı geldi.
- Protokoller – curl tarafından wget’ten daha fazla protokol desteklenir .
- Curl destekli protokoller şunlardır: HTTP, HTTPS, FTP, FTPS, DOSYA, DICT, TFTP, TELNET, SCP, SMPT, SMTPS, GOPHER, GOPHERS, LDAP, LDAPS, IMAP, IMAPS, RTMP, RTMPS, POP3, POP3S, RTSP, SFTP, SMB, SMBS veya MQTT.
- Wget tarafından desteklenen protokoller şunlardır: HTTP, HTTPS ve FTP.
- Kütüphane (libraries) – Wget, tamamen terminal tabanlı bir araç olduğu için herhangi bir kütüphane ile ilişkili değildir. Curl ‘e gelince, platformlar arası libcurl kitaplığı ona güç sağlar.
- Özyineleme (Recursive) – Curl ile karşılaştırıldığında, özyinelemeli indirmelerle uğraşırken wget daha güçlüdür, çünkü onu yalnızca hedeflenen dosyayı içeren uzak kaynağa/URL’ye yönlendirmeniz gerekir.
- Borular ( pipes) – Curl ile, stdout daha fazla malzeme aldığından ve stdin çıktının okunmasını sağladığından her şey bir borudur. Bu nedenle, curl, uygulanması açısından geleneksel Unix cat komutuna benzerken wget, Unix cp komutunun uygulanmasını taklit eder.
- Taşınabilirlik – Curl’ün dinamik yapıları, wget’ten daha fazla platformda çalışmasını sağlar. Bu liste, TPF ve OS/400 gibi egzotik platformları içerir.
- Yükleme ve İndirme Yetenekleri – wget ile rahatça düz HTTP POST desteği elde edebilirsiniz. Öte yandan curl, komut satırı ortamı aracılığıyla e-posta gibi verilerin yüklenmesini ve gönderilmesini mümkün kılar.
- Paralel Transferler – Curl, wget’te olmayan çoklu paralel transferleri gerçekleştirme yeteneğine sahiptir.
- Varsayılan Özellikler – Yönlendirme izleme ve tanımlama bilgileri gibi wget’teki varsayılan özelliklerin çoğu otomatik olarak etkinleştirilir, ancak curl ile çoğu özelliğin açıkça etkinleştirilmesi gerekir.
Linux’ta Curl ve Wget Kurulumu
Artık curl ve wget arasındaki karşılaştırma sohbetine aşina olduğunuza göre , bu dosya aktarım araçlarından birini mi yoksa her ikisini mi kullanacağınıza karar vermek size kalmış.
Curl’i Linux’a yükleyin
$ sudo apt install curl [ Debian, Ubuntu ve Mint'te ] $ sudo yum install curl [ RHEL/CentOS/Fedora ve Rocky Linux/AlmaLinux'ta ] $ sudo emerge -a net-misc/curl [ Gentoo Linux'ta ] $ sudo pacman -S curl [ Arch Linux'ta ] $ sudo zypper install curl [ OpenSUSE'de ]
Wget’i Linux’a yükleyin
$ sudo apt install wget [ Debian, Ubuntu ve Mint'te ] $ sudo yum install wget [ RHEL/CentOS/Fedora ve Rocky Linux/AlmaLinux'ta ] $ sudo emerge -a net-misc/wget [ Gentoo Linux'ta ] $ sudo pacman -S wget [ Arch Linux'ta ] $ sudo zypper install wget [ OpenSUSE'de ]
Yazının orijinalini buradan okuyabilirsiniz.
Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım.
Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum.
Son 6 yıldır sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum.
Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.