X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe)

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar Euro
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe)

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar Euro
0
RenklinetYazılarLinuxWget Nedir Wget Komutları Nelerdir

Wget Nedir ?

Gnu Wget (veya sadece Wget, eskiden Geturl), linux web sunucularında kullanılır ve gnu Projesi’nin bir parçası bir bilgisayar programıdır.

Özellikleri

Özyinelemeli indirme, dönüşüm yerel html, proxy desteği ve daha fazlasını çevrimdışı görüntülemek için bağlantılar içerir. Linux işletim sistemi kullanıcıları ve dağıtımları arasındaki geniş kullanımı ile en büyük Linux tabanlı dağıtımlar arasında popüler olmuştur ve 1996 senesinde ortaya çıkmıştır.
Wget herhangi bir Linux sistem üzerine kolayca yüklenebilir ve pek çok ortama taşınabilir C’de yazılmış Microsoft Windows, Mac os x, OpenVMS, MorphOS dâhil veya AmigaOS.GNU wget, Linux altıdaki internetten dosya ya da dizin indirmek için kullanılan bir araçtır WGET’deki pek çok parametre sayesinde hertürlü indirme yöntemini uygulamak mümkündür. Ancak bu parametrelerin ne kadarını biliyoruz ne kadarını bilmiyoruz. İşte size pratikte bizim en çok kullandığımız parametreler ve kullanımları hakkında pratik bilgiler:

Kaldığı yerden devam etme özelliği:

Bunun için wget komutunu eklemeniz gerekli olan parametre “-c” . Bu sayede yarıda kalmış downloadları ya da diğer bir zaman devam etmek istediğinizde kullanabilirsiniz. Genelde boyutu büyük olan dosyalardada kullanabilirsiniz. Mesela bir .Avi dosyası indirirken kullanabilirsiniz.

Örnek:

wget -c http://renklinet.com/test.dat

NOT: Bu aşamadan bilmeniz gerekli olan elektirikler gitse bile ya da unutsanızda iki gün sonra aklınıza gelse ve indirmeye devam etmek isteseniz dahi tekrar kaldıgınız yerden devam edebilirsiniz indirme işlemine.

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

Dizini tamamen indirmek:

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

Örneğin:

wget -r http://renklinet.com/yenidosya/

NOT: URL olarak verdiğiniz adres dizin ise indireceğiniz yere önce indireceğiniz alanadı ile bir dizin açılır içersinede o alan adı içindeki bütün dizinler ve dosyalar olduğu gibi indirilir yanlız burda bilmeniz gerekli olan şey indirilen dosyalar sunucu yorum aşamasında kullanılan .Php veya .Asp gibi dinamik içerik sayfaları ise indirme işlemi sırasında bu sayfalar .Htm veya .Html biçiminde indirilecektir. Ancak diğer resim veya tema dosyaları veya javascript vs gibi sunucu tabanlı olmayan içerikler direk şekilde varoldukları dizinlere göre inecektir.

İndirireceğiniz içerik illa bir dizin olmak mecburiyetinde değildir. Örneğin bir siteadı.Com indireceksiniz o indireceğiniz alan adı içindeki bütün dizinleri -r komutu sayesinde indireceğiniz bölüme alınacaktır.
“-r” parametresi ile “yenidosya” dizini benim bilgisayarıma dizin olarak indirildi. Eğer “yenidosya” dizininin yapı olarak inmesini istemiyorsa “-r -nd” parametresini kullanabilirim. Bu sayede “yenidosya” diye extra bir dizin oluşmaz ve yalnızca internetteki “yenidosya” dizinindeki ve altındaki dosyalar indirilir.

DIKKAT: “-r -nd” komutunu verirsem, aynı isimli dosya var ise, enson indirilen dosya kaydolur. Diğeri ise otomatikman taşınmaz olur.

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

Örnek:

wget -r -nH http://renklinet.com/yenidosya/

NOT: Bu komutla domain dizin yapısı yerine yalnızca “yeniklasör” dizin yapısı alınır.
(Sadece “/yenidosya” dizini biçiminde)

Alan adı içindeki diğer dizinleri değil yalnızca tek bir dizini indirmek istiyorsanız.

Sizin belirlediğiniz bir dizinden diğer bir dizinin indirilmesini istemiyorsanız “-m” ya da “–mirror” paremetresine “-np” (–no-parent) eklediğinizde arzu ettiğiniz olur

Örnek:

wget -m -np http://renklinet.com/yenidosya/

NOT: Bu sayede yalnızca verilen adresdeki dosyalar indirilir. Bunun dışına çıkılmaz.

Filtre kullanmak ya da yalnızca belirli dosyaları indirmek:

Bazen indirmek arzu ettiğiniz dizinde 1000 lerce dosya vardır ama siz yalnızca bunlardan bazı dosyaları indirmek isteyebilirsiniz. Bu durumda JOKER(yıldız) “*” kullanamazsınız )

Aksine “-A” ya da “–accept” komutunu kullanarak bu işinizi halledebilirsiniz.

Örnek:

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

NOT: Verilen Site adresinde ve alt dizinlerinde yalnızca JPG ve PNG dosyaları indirilir.

Peki bunun tam tersi nasıl olur ? Yani belirli bir filtre haricindeki bütün dosyaları nasıl indirirsiniz?

Bunun için “-R” ya da “–reject” komutunu kullanabilirsiniz.

Örnek:

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

NOT: Verilen URL adresinden tar.gz ve jpg dosyaları haricinde bütün dosyaları indirir.

Proxy üzerinden kullanım:

Proxy kullanıyor iseniz , bunun çözümü /etc/wgetrc dosyasını açıp, ayar dosyasındaki satırdaki yere gerekli düzenlemeleri yapmaktır.

Yada geçici olarak proxy kullanıyorsanız veya sadece o dosya için proxy kullanmak istiyorsanız;

export http_proxy=" http://meinproxy.provider.de:3128";
wget xx

biçiminde kullanabilirsiniz.

Şifreli URL adreslerine wget ile erişim:

Download etmek arzu ettiğiniz bir adres herhangi bir biçimde şifrelenmiş ise ve bunu wget ile download etmek istiyorsanız, download işlemini 2 şekilde yapabilirsiniz.

Basit yol:

wget http://USER:PASSWORD@Renklinet.../asd.tar.gz
wget ftp://USER:PASSWORD@Renklinet.../asd.tar.gz

Bir başka yol:

wget ----http-user=USER --http-passwd=SIFRE http://renklinet.com/renklinet/
 
İndirme işlemini limitlemek.

İnternet hattınız fazla değil ve bunu download için kullanmak istemiyorsanız “–limit-rate=INT_DEGER” biçiminde sınırlandırabilirsiniz.

Örnek:
 
wget -c --limit-rate=10k http://renklinet.com/video.avi
 
NOT: Bu sayede yalnızca 10k ile indirilir.

Dosya içerisindeki Site adreslerinden download etsin

Her komut için defalarca wget komutunu kullanmak istemiyorsanız bunun en güzel çözümü bütün dosyaların adreslerini bir text dosyası haline getirip “-i” ya da “–input-file” parametresini kullanmak.

Örnek:
 
wget -c --input-file=/home/renklinet/dosya_indirme
 
NOT: Dosya içerisindeki belirtilen adresler indirilir.
DIKKAT: Dosyanın içini 1/2 dosya 1/2 dizin biçiminde yapmayın. Yoksa arzu ettiğiniz sonucu alamazsınız.

Home bilgisayarımda belirli bir adrese/dizine kaydolsun:

Wget güzel fakat komutu nereye verirsem oraya indiriyor. Halbuki ben komutu verdiğim yere değil, tam tersine benim istediğim bir yere kaydetmesini istemiştim.

Sorun değil, bunun için “-P” ya da “–directory-prefix” parametresini kullanabilirsiniz.

Örnek:
 
wget -c http://renklinet.com/video.avi -P /home/renklinet/renklinet_indirilenler/
 
NOT: Bu komut ile indirme işlemi komutu verdiğiniz yere değil, tam tersine “-P” ile belirlediğiniz yere yapılır.
Eğer belirtilen dizin yoksa kendiliğinden oluşturulur.

Sadece yeni / son eklenen dosyalar indirilsin:

Belirli bir adresden sürekli backup yapıyorsunuz ya da dosya indiriyorsunuz. Aynı dosyaları yeniden indirmek biraz anlamsız olacaktır. Peki ne yapacağız ?

Oda sorun değil. Bir adresden diyelim sürekli dosya indiriyorsunuz. Ancak haftada 1 kere. Ama her seferinde aynı dosyaları indirmek istemiyosunuz. O zaman yalnızca en son dosyaları ya da güncellenen dosyaları indirmek en doğrusu olacaktır. Bunun için kullanılacak komut ise “-N” ya da “–timestamping” olacaktır.

Örnek:

21.09.2020 de aşağıda belirtilen komutu verdiniz:
 
 
Ve 21.10.2020 tarihinde aynı URL de yeni dosya eklenmişmi diye kontrol edip, eğer var ise bunları indirmek istiyorsunuz:
 
 
NOT: 2. Işlemde yalnızca güncel olan dosyalar indirilir.

Passive FTP

Bazı FTP adreslerinden dosya indiremiyorum. Ama Tarayıcıdan indirmeye çalıştığımda normal olarak iniyor. Bunun nedeni nedir?

Bazı FTP sunucuları yalnızca passive-ftp modunda izin verilmiştir. Bu durumda wget ile işlem yaparken
“–passive-ftp” parametresini eklemenizde fayda var.

Örnek:
 
wget -c --passive-ftp http://renklinet.com/dosya.avi
 
LOG tutturmak:

Nerelerden ve hangi dosyalar indirilmiş öğrenmek istiyor iseniz. WGET ile Log tutabilirsiniz?

Bunun için “-o” ya da “–output-file” parametresini kullanmanız gereklidir.

Örnek:
 
wget -r -nH http://renklinet.com/yenidosya/ -o log_deneme
 
NOT: Komuttan sonra bir “log_deneme” isminde dosya oluşur . İnceleyin.

Aslında komutlar bunlar ile sınırlı değildir komut ekranını hakkında yardım görüntülemek için wget –help yazıp gönderirseniz gerekli bütün komutlar karşınıza gelecektir. Biz yinede size alt bölümde detaylı olarak bir kaç komut daha göstereceğiz.

Uzun seçeneklerdeki mecburi argümanlar kısa seçeneklerde de mecburidur.

Başlangıç:
 
  -V,  --version              Wget versiyonunuzu gösterir.
  -h,  --help                 Wget hakkında yardım metnini çıkartır
  -b,  --background           artalanda başlatılır.
  -e,  --execute=KOMUT        `.wgetrc' tarzı bir komut çalıştırmak için.
 
Günlük kayıtlar ve girilen komutlar log dosyası.
 
  -o,  --output-file=DOSYA    Günlük kayıtlarını Dosyaya yazdırır.
  -a,  --append-output=İletiler dosyaya eklenir
  -d,  --debug                hata ayıklama bilgileri gösterilir.
  -q,  --quiet                hiçbir bilgi verilmez
  -v,  --verbose              daha ayrıntılı bilgi berir (öntanımlıdır).
  -nv, --no-verbose           dahada az ayrıntılı bilgi verilir.
  -i,  --input-file=FILE     Dosya input eder.
  -F,  --force-html           girdi dosyasının HTML olduğu varsayılır.
  -B,  --base=URL            HTML Resolve edilir.

ABONE OL