X

wget kullanımı – wget komutları

Birçoğumuz herhangi bir siteden dosya indirmek için ‘download’ programları kullanırız. Aslında konsoldan kullanabileceğimiz çok basit bir uygulama olan wget’i kullanarak da bu işimizi görebiliriz. Hem de hiç tahmin edemeyeceğimiz muhteşem özelliklerle.Bunları anlatmaya çalışalım.

Neler Yapılabilir

* Normal olarak dosya indirebiliriz.

* Herhangi bir dosyayı indirmeyi yarım bırakıp, daha sonra devamını indirebiliriz.

* Bir sitenin tamamını veya sadece bir bölümünü arşiv olarak indirebilriz. Eğer yine yarım bırakırsak daha sonra devam edebiliriz.

* Bir sitenin herhangi bir bölümündeki, herhangi bir uzantıya sahip dosyayı/dosyaları belirleyerek indirebiliriz veya istemediğimiz dosyaları indirmemesini söyleyebiliriz.

* Toplu olarak dosya indirmek için bir liste hazırlayıp, buradan dosya indirmesini sağlayabiliriz.

* Dosya indirirken internette dolaşma hızımızı fazla düşürmemek için indirme hızımızı sınırlandırabiliriz.

Bu ve bu gibi bir çok özelliği wget (web get) bize sağlıyor.

Wget Kullanımı

GNU wget, Linux altıdaki internetten dosya veya dizin indirmek için kullanılan çok pratik bir araç. WGET’deki birçok parametre sayesinde hertürlü indirme yöntemini uygulamak mümkün. Ancak bu parametrelerin ne kadarını biliyoruz ne kadarını bilmiyoruz. İşte size pratikte benim ençok kullanilan parametreler ve kullanimlari hakkinda pratik bilgiler;

Kaldığı yerden devam etme özelliğini kullanmak:
Bunun için wget komutuna eklemeniz gereken parametre “-c” .Bu sayede yarıda kalmış yüklemelere başka bir zaman devam etmek istediğinizde bu seçeneği kullanabilirsiniz. Genelde boyutu büyük olan dosyalarda kullanılabilir. Mesela bir ISO dosyası indirirken.

wget -c $http://switch.dl.sourceforge.net/sourceforge/pisibul/pisibul-0.2.4.tar.bz2

NOT: Yükleme sırasında elektrikler gitse veya 3 gün sonra aklınıza gelse bile -c (continue–devam et) seçeneği ile kaldığı yerden yüklemeye devam eder.

İpucu: Mirror A da bir X dosyası var diyelim. Aynı X dosyası mirror B de de var. Herhangi bir sebebden dolayı, diyelimki %30 den sonra download hızı çok düştü. Sorun değil. Aynı dosya oldukları için mirror B den download etmeye “-c” parametresi ile devam edebilirsiniz. Gene kaldıgı yerden devam eder.

Komple dizini indirmek:

İnternetteki bir siteyi veya bir dizini komple olarak indirmek istediğinizde “-r” veya “–recursive” parametresini kullanabilisiniz.

wget -r http://siteadi.com/wget/

NOT: URL olarak verdiğiniz yer bir dizin olmak zorunda. Download olurken domain ve alt dizin yapısı aynen iner. (http://siteadi.com/wget/ şeklinde) “-r” parametresi ile “wget” dizini benim bilgisayarıma dizin olarak indirilir. Eğer “wget” dizininin yapı olarak inmesini istemiyorsa “-r -nd” parametresini kullanabilirim. Bu sayede “wget” diye extra bir dizin oluşmaz ve sadece internetteki “wget” dizinindeki ve altındaki dosyalar local PC me indirilir.

DIKKAT: “-r -nd” komutunu verirsem, aynı isimli dosya varsa, enson indirilen dosya local PC ye kaydolur. Diğeri ise otomatikman MOVE olur.

Eğer indirmek istediğiniz internet adresinin domain ön takısını almak istemiyorsanız, “-nH” ekleyebilirsiniz.

wget -r -nH http://siteadi.com/wget/

NOT: Bu komutta domain dizin yapısı yerine sadece “wget” dizin yapısı alınır. (Sadece “/wget” dizini şeklinde) Soru: İyi güzel ama bu başka dizinleride download ediyor ? Oysa ben sadece belirli bir dizini download etsin istiyom.

Tabi. Eğer sizin belirlediğiniz bir dizinden başka dizinin download edilmesini istemiyorsanız “-m” veya “–mirror” paremetresine “-np” (–no-parent) eklediğinizde istediğiniz olur.

wget -m -np http://siteadi.com/wget/

NOT: Bu sayede sadece verilen adresdeki dosyalar download edilir. Bunun dışına çıkılmaz.

Filter kullanmak veya sadece belirli dosyaları indirmek:

Bazen indirmek istediğiniz dizinde 100 lerce dosya vardır ama siz sadece bunlardan belirli dosyaları indirmek isteyebilirsiniz. Bu durumda JOKER(yıldız) “*” kullanamazsınız .Aksine “-A” veya “–accept” kullanarak bu işinizi halledebilirsiniz.

wget -r -A jpg,png http://siteadi.com/

NOT: Verilen URL adresinde ve alt dizinlerinde sadece JPG ve PNG dosyaları indirilir.

Peki bunun tam tersi nasıl olacak ? Yani belirli bir filtre haricindeki bütün dosyaları nasıl indireceksiniz? Bunun içinde “-R” veya “–reject” kullanabilirsiniz.

wget -r -R tar.gz,jpg http://siteadi.com/

NOT: Verilen URL adresinden tar.gz ve jpg dosyaları HARICINDE ne varsa indirir.

Proxy üzerinden kullanım:

Eğer bir proxy kullanıyorsanız , o zaman en güzel çözüm /etc/wgetrc dosyasını açıp, ayar dosyasındaki satırdaki yere gerekli ayar yapmak. Yada kısa süre için proxy kullanıyorsanız veya sadece o dosya için proxy kullanmak istiyorsanız;

export http_proxy=" http://meinproxy.provider.de:3128"; wget http://siteadi.com/xxx.tar.gz

şeklinde kullanabilirsiniz.

Şifreli URL adreslerine wget ile erişim:

Download etmek istediğiniz bir adres herhangi bir şekilde şifrelenmiş ise ve bunu wget ile download etmek istiyorsanız, download işlemini 2 türlü yapabilirsiniz.

Kolay yol:

wget http://KULLANICI:PASSWORD@siteadi.com/deneme/deneme.tar.gz
wget ftp://KULLANICI:PASSWORD@siteadi.com/deneme/deneme.tar.gz

Uzun yol:

wget ----http-user=KULLANICI –http-passwd=SIFRE http://siteadi.com/deneme/

Download’ı sınırlandırmak :

İnternet çıkışınız fazla değil ve bunu download için harcamak istemiyorsanız “–limit-rate=INT_DEGER” şeklinde sınırlandırabilirsiniz.

wget -c --limit-rate=4k http://siteadi.com/cw.tar.gz

Bu sayede sadece 4k ile indirilir.

Dosya içindeki URL adreslerinden download etsin :

Her komut için tekrar tekrar wget komutunu vermek istemiyorsunuz en güzel çözüm bütün dosyaların adreslerini bir text dosyası haline getirip “-i” veya “–input-file” parametresini kullanmak.

wget -c --input-file=/home/menacam/Desktop/download.txt

Dosya içinde belirtilen adresler indirilir.

DIKKAT: Dosyanın içini 1/2 dosya 1/2 dizin şeklinde yapmayın. Yoksa istediğiniz sonucu alamazsınız.

Local bilgisayarımda belirli bir adrese/dizine kaydolsun:

wget -c http://siteadi.com/cw.tar.gz -P /home/menacam/Dosyalarim

Bu komut ile indirme işlemi komutu verdiğiniz yere değil, aksine “-P” ile belirlediğiniz yere yapılır. Eğer belirtilen dizin yoksa otomatikman oluşturulur.

Sadece yeni / güncel dosyalar indirilsin:

Belirli bir adresden devamlı backup yapıyorsunuz veya dosya indiriyorsunuz. Aynı dosyaları tekrar indirmek biraz anlamsız olur. Peki napıcaksınız ?

Oda sorun değil. Bir adresden diyelim devamlı dosya indiriyorsunuz. Ancak haftada bir kere. Ama her defasında aynı dosyaları indirmek istemiyosunuz. O zaman sadece en güncel dosyaları veya güncellenen dosyaları indirmek en doğrusu olacaktır. Bunun için kullanılacak parametre ise “-N” veya “–timestamping” olacaktır.

16-1-2009 de aşağıdaki komutu verdiniz:

wget -r -nH http://siteadi.com/wget/

ve 16-12-2007 tarihinde aynı URL de acaba yeni dosya varmı yokmu diye kontrol edip, eğer varsa bunları indirmek istiyorsunuz:

wget -r -nH -N http://siteadi.com/wget/

2. işlemde sadece güncel olan dosyalar indirilir.

Passive FTP :

Bazı FTP adreslerinden dosya indiremiyorum. Ama Browserden indirmeye çalıştığımda normal olarak iniyor. Bazı FTP serverleri sadece passive-ftp modunda izin verebilir. Bu durumda wget ile işlem yaparken “–passive-ftp” parametresini eklemenizde fazda var.

wget -c --passive-ftp ftp://siteadi.com/cw.tar.gz

LOG Tutturmak:

Ben çok fanatik bir insanım ve istatistiklere önem veriyorum. WGET Log tutar mı?

Elbette tutar. Bunun için “-o” veya “–output-file” parametresini kullanmanız yeterli olacaktır.

wget -r -nH http://siteadi.com/wget/ -o log_dosyasi

Komuttan sonra bir “log_dosyasi” isminde dosya oluşur . İnceleyin.

Liste İndirme:

Çok fazla indireceğiniz bir şey olduğunda bunların hepsini bir text dosyası oluşturup bir seferde indirebili

rsiniz..

wget -i text_dosyasi

Hepsi bu kadarmı?

Elbette değil. Daha birçok özellik ve parametre var. Bunlar sadece benim pratik kullanımda ençok kullandığım parametreler. Birçok ayar için /etc/wgetrc dosyasına göz atmanız yeterli. Ayrıca wget için birkaçda GUI bulmanız mümkün:
Alıntı:gwget > http://gwget.sourceforge.net/

gtm > http://gtm.sourceforge.net/

kwebget > http://www.kpage.de/de/

 

alıntı -> kaynak
demiray:
Related Post