WGET Kullanımı...
GNU wget, Linux altıdaki internetten dosya veya dizin indirmek icin kullanılan cok pratik bir arac. WGET'deki bircok parametre sayesinde herturlu indirme yontemini uygulamak mumkun. Ancak bu parametrelerin ne kadarını biliyoruz ne kadarını bilmiyoruz. İşte size pratikte benim encok kullandığım parametreler ve kullanımları hakkında pratik bilgiler:
Resume ozelliğini kullanmak:
Bunun icin wget komutunu eklemeniz gereken parametre "-c" . Bu sayede yarıda kalmış downloadları veya başka bir zaman devam etmek istediğinizde kullanabilirsiniz. Genelde boyutu buyuk olan dosyalardada kullanabilirsiniz. Mesela bir ISO dosyası indirirken.
Orn:
wget -c http://erkan.iqchoice.com/basisrelease.tar.gz
NOT: Ceryanlar gitse bile veya 3 gun sonra aklıma gelse ve download ettirsem, tekrar kaldıgım yerden devam eder indirmeye.
TIPS: 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ı cok duştu. Sorun değil. Aynı dosya oldukları icin 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.
Orn:
wget -r http://erkan.iqchoice.com/OGo
NOT: URL olarak verdiğiniz yer bir dizin olmak zorunda.
Download olurken domain ve alt dizin yapısı aynen iner. (/erkan.iqchoice.com/OGo/ şeklinde)
"-r" parametresi ile "OG0" dizini benim bilgisayarıma dizin olarak indirilir. Eğer "OGo" dizininin yapı olarak inmesini istemiyorsa "-r -nd" parametresini kullanabilirim. Bu sayede "OGo" diye extra bir dizin oluşmaz ve sadece internetteki "OGo" 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 on takısını almak istemiyorsanız, "-nH" ekleyebilirsiniz:
Orn:
wget -r -nH http://erkan.iqchoice.com/OGo
NOT: Bu komutta domain dizin yapısı yerine sadece "OGo" dizin yapısı alınır.
(Sadece "/OGo" dizini şeklinde)
Soru:
İyi guzel ama bu başka dizinleride downlaod 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
Orn:
wget -m -np http://erkan.iqchoice.com/OGo
NOT: Bu sayede sadece verilen adresdeki dosyalar download edilir. Bunun dışına cı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.
Orn:
wget -r -A jpg,png http://erkan.iqchoice.com
NOT: Verilen URL adresinde ve alt dizinlerinde sadece JPG vePNG dosyaları indirilir.
Peki bunun tam tersi nasıl olacak ? Yani belirli bir filtre haricindeki butun dosyaları nasıl indireceksiniz?
Bunun icinde "-R" veya "--reject" kullanabilirsiniz.
Orn:
wget -r -R tar.gz,jpg http://erkan.iqchoice.com
NOT: Verilen URL adresinden tar.gz ve jpg dosyaları HARICINDE ne varsa indirir.
Proxy uzerinden kullanım:
Eğer bir proxy kullanıyorsanız , o zaman en guzel cozum /etc/wgetrc dosyasını acıp, ayar dosyasındaki satırdaki yere gerekli ayar yapmak.
Yada kısa sure icin proxy kullanıyorsanız veya sadece o dosya icin proxy kullanmak istiyorsanız;
export http_proxy=" http://meinproxy.provider.de:3128";
wget xxxxxxxxxxxxxxxxxxxxx
ş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 turlu yapabilirsiniz.
kolay yol:
wget http://KULLANICI:[email protected]/deneme.tar.gz
wget ftp://KULLANICI:[email protected]/deneme.tar.gz
Uzun yol:
wget ----http-user=KULLANICI --http-passwd=SIFRE http://erkan.iqchoice.com/deneme
Download'ı sınırlandırmak.
İnternet cıkışınız fazla değil ve bunu download icin harcamak istemiyorsanız "--limit-rate=INT_DEGER" şeklinde sınırlandırabilirsiniz.
Orn:
wget -c --limit-rate=4k http://erkan.iqchoice.com/basisrelease.tar.gz
NOT: Bu sayede sadece 4k ile indirilir.
Dosya icindeki URL adreslerinden download etsin
Her komut icin tekrar tekrar wget komutunu vermek istemiyorsunuz en guzel cozum butun dosyaların adreslerini bir text dosyası haline getirip "-i" veya "--input-file" parametresini kullanmak.
Orn:
wget -c --input-file=/home/erkan/download_dosyası
NOT: Dosya icinde belirtilen adresler indirilir.
DIKKAT: Dosyanın icini 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 iyi guzel ama komutu nereye verirsem oraya kaydediyor. Halbuki ben komutu verdiğim yere değil, aksine benim istedğimi bir yere kaydetmesini istiyorum.
Sorun değil, bunun icin "-P" veya "--directory-prefix" parametresini kullanabilirsiniz.
Orn:
wget -c http://erkan.iqchoice.com/basisrelease.tar.gz -P /home/erkan/my_downloadas/
NOT: 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 / guncel 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 indiriyuorsunuz. Ancak haftada bir kere. Ama her defasında aynı dosyaları indirmek istemiyosunuz. O zaman sadece en guncel dosyaları veya guncellenen dosyaları indirmek en doğrusu olacaktır. Bunun icin kullanılacak parametre ise "-N" veya "--timestamping" olacaktır.
Orn:
21.08.2003 de aşağıdaki komutu verdiniz:
wget -r -nH http://erkan.iqchoice.com/OGo
ve 21.09.2003 tarihinde aynı URL de acaba yeni dosya varmı yokmu diye kontrol edip, eğer varsa bunları indirmek istiyorsunuz:
wget -r -nH -N http://erkan.iqchoice.com/OGo
NOT: 2. işlemde sadece guncel olan dosyalar indirilir.
Passive FTP
Bazı FTP adreslerinden dosya indiremiyorum. Ama Browserden indirmeye calıştığımda normal olarak iniyor. Neden?
Bazı FTP serverleri sadece passive-ftp modunda izin verebilir. Bu durumda wget ile işlem yaparken
"--passive-ftp" parametresini eklemenizde fazda var.
Orn:
wget -c --passive-ftp ftp://erkan.iqchoice.com/basisrelease.tar.gz
LOG tutturmak:
Ben cok fanatik bir insanım ve istatistiklere onem veriyorum. WGET Log tutar mı?
Elbette tutar. Bunun icin "-o" veya "--output-file" parametresini kullanmanız yeterli olacaktır.
Orn:
wget -r -nH http://erkan.iqchoice.com/OGo -o log_dosyasi
NOT: Komuttan sonra bir "log_dosyasi" isminde dosya oluşur . İnceleyin.
Hepsi bu kadarmı?
Elbette değil. Daha bircok ozellik ve parametre var. Bunlar sadece benim pratik kullanımda encok kullandığım parametreler. Bircok ayar icin /etc/wgetrc dosyasına goz atmanız yeterli. Ayrıca wget icin birkacda GUI bulmanız mumkun:
gwget : http://gwget.sourceforge.net
gtm: http://gtm.sourceforge.net
kwebget: http://www.kpage.de/de
__________________
Wget kullanımı
Linux0 Mesaj
●37 Görüntüleme
- ReadBull.net
- Donanım Forumları
- işletim Sistemleri
- Linux
- Wget kullanımı