wget

Bu kitapçıkta daha önce de karşılaştığımız komutlardan wget, internetten dosya çekmeye yarayan, Web GET sözcüklerinin kısaltması olan bir program.

İnternetten herhangi bir dosyayı indirmek için dosya adresini wget'e parametre olarak vermek yeterlidir.

wget http://www.plugged.in/downloads/plugged.sh

 

Yukarıdaki komutla bulunduğumuz dizine plugged.sh dosyası inecektir.

Bazen linkler istediğimiz isim yapısında olmayabilir. İndirilen dosyayı farklı isimle kaydetmek için aşağıdaki yöntem izlenebilir.

wget http://www.plugged.in/downloads/plugged.sh -O install.sh

 

Artık dosya plugged.sh ismiyle değil, install.sh ismiyle kaydedilecektir.

 

Yarım Kalan İndirmeler

Normalde wget programı, indirilen dosya hali hazırda dizinde mevcutsa, yeni indirilen dosyayı sonuna .1 .2 gibi rakamlar koyarak yazar. Örneğin yukarıdaki örnekte plugged.sh dosyası zaten dizinde mevcutsa, yeniden indirdiğimizde wget dosyayı plugged.sh.1 olarak kaydeder.

Oysa indirme sırasında dosya yarım kalmışsa, kaldığı yerden devam ettirmek için -c parametresini vermemiz yeterlidir.

wget -c http://www.plugged.in/downloads/plugged.sh

 

Hız Limitleme

İndirme hızını limitlemek için --limit-rate parametresi kullanılır.

 

Deneme Sayısı

Bazı durumlarda indirme işlemini kaç kez deneyeceğinizi belirtmek isteyebilirsiniz.

 

İndirme İşlemini Arka Planda Gerçekleştirme

Büyük dosyaları indirme işlemini arka planda yürütebilirsiniz. Böyle bir durumda wget size programın PID numarasını verecek, ve logları yazdığı dosyayı bildirecekir. Bu sayede isterseniz indirme işlemini log dosyasından takip edebilir, dilediğiniz zaman PID numarasını kullanarak programı durdurabilirsiniz.

 

Liste Kullanımı

İndirilecek dosyaların bir listesini bir program ile oluşturabilirsiniz, veya yükleme yazılımınızda kullanmak üzere hazırlayabilirsiniz. Bu listedeki linkleri sırayla indirmesi için wget programına parametre olarak verebilirsiniz.

 

 

İndirme Kontrolü

Bazı durumlarda indirme işleminden önce indirmenin mümkün olup olmadığını kontrol edebilirsiniz. Bunun için --spider seçeneği kullanılabilir. Bu seçeneğin en yaygın kullanımı, sisteminizin internet erişiminin olup olmadığı, internet erişimi varsa da DNS çözümlemelerini doğru yapıp yapmadığınız konusundadır. Aşağıdaki örnekleri inceleyelim.

 

 

 

 

 

 

Gördüğünüz gibi http://google.com için exit status 0 aldık, oysa google.c için exit status 4 döndü. Bu sayede scriptlerimize bir internet kontrol mekanizması koyabiliriz.

En yaygın kullanım, bu seçeneği -q (quiet) seçeneği ile kullanmaktır.

 

NOT: Yukarıdaki ifadelerde $? gösteriminin ne anlama geldiğini bilmiyorsanız, kitabın Bash Programlama bölümüne bakabilirsiniz.

 

Tarayıcı Gibi Davranmak

İndirmek istediğiniz bazı linkler kaynağın bir tarayıcı gibi davranmasını isterler. Aşağıda bu tip senaryolarda kullanabileceğiniz iki yol gösterici örnek görebilrsiniz.

 

Veya cookie kullanılarak login yapılabilir.

 

Sayfayı Tamamen İndirmek

 

 

Yukarıdaki komut http://plugged.in sayfasını indirme_dizini dizinine indirecektir. --mirror seçeneği, bütün dizinleri indirmesi gerektiğini belirtir. -p ile HTML'in doğru görüntülenmesi için gerekli dosyalar (örn. CSS dosyaları) beraberinde gelir. --convert-links HTML dosyaları içerisindeki linkleri yerel linkler ile değiştirir. Bu işlem sadece indirme tamamlanınca gerçekleşir, yani indirme işlemini yarıda keserseniz linkleri düzenlemez.

Yukarıdaki komutun açık hali şöyledir:

 

Okuduğunuz kitabın HTML halini indirmek isterseniz aşağıdaki komutu kullanabilirsiniz.

 

Belirli Dosya Tiplerini ve Dizin Oluşumunu Engellemek

Aşağıdaki örnek, rackdc CentOS mirror'undan iso dosyaları hariç (--reject) tüm dosyaları indirecek, ancak "Parent Directory"e gidip tarama işlemini genişletmeyecek (-np) ve tamamını tek dizine indirip alt dizinleri oluşturmayacaktır.

 

Sadece Belirli Dosyaları İndirmek

Benzer şekilde sadece belirli tipteki dosyaları indirebilirsiniz.

 

FTP Kullanımı

Son olarak wget ile anonim ve şifreli FTP kullanımı göreceğiz.

 

*FreeBSD Sisteminde wget yerine fetch kullanılmaktadır.