Wget Nedir Wget Komutları Nelerdir Wget Nasıl Kullanılır

Merhaba arkadaşlar bu makalemde sizlerle linux tabanlı sunucular ve işletim sistemleri üzerinde sürekli kullandığımız ve internetteki içerikleri kolay bir şekilde panellere veya indirme programlarına ihtiyaç duymadan sunucularımıza yada işletim sistemlerimizin içerisine çektiğimiz wget komutununun ayrıntılı olarak komutlarını sizlerle paylaşmaya çalışacağım. Önce wget komutumuzu tanımlayalım ve daha sonra wget ile beraber kullanacağımız ek komutları görelim.

Wget Nedir ?

Gnu Wget (veya sadece Wget, eskiden Geturl), içerik web sunucularında kullanılır ve gnu Projesi’nin bir parçası bir bilgisayar programıdır. Onun adı World Wide Web’den türetilmiştir ve adını bu isimlerden almıştır. Via http, https, bağlantılarının ve ftp protokollerinin indirilmesini desteklemektedir.

Özellikleri

Özyinelemeli indirme, dönüşüm yerel html, proxy desteği ve çok daha fazlasını çevrimdışı görüntülemek için bağlantılar içerir. Unix kullanıcıları ve dağıtımları arasındaki geniş kullanımı ile en büyük gnu/Linux tabanlı dağıtımlar arasında popülerlik patlaması yapmıştır ve 1996 yılında ortaya çıkmıştır.
Wget herhangi bir Unix sistem üzerine kolayca yüklenebilir ve birçok ortama taşınabilir C’de yazılmış Microsoft Windows, Mac os x, OpenVMS, MorphOS dâhil yada AmigaOS.GNU wget, Linux altıdaki internetten dosya veya dizin indirmek için kullanılan çok pratik bir araçtır WGET’deki birç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 benim ençok kullandığım parametreler ve kullanımları hakkında pratik bilgiler:

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

Bunun için wget komutunu eklemeniz gereken parametre “-c” . Bu sayede yarıda kalmış downloadları veya başka 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://bursa-bilgisayar.com/movie.avi

NOT: Bu aşamadan bilmeniz gereken elektirikler gitse bile veya unutsanızda 2 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 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.

Dizini bütünüyle indirmek:

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

Örneğin:

wget -r http://bursa-bilgisayar.com/yeniklasör/

NOT: URL olarak verdiğiniz adres dizin ise indireceğiniz yere önce indireceğiniz alanadı ile bir dizin açılır içersinede o içerisindeki bütün dizinler ve dosyalar olduğu gibi indirilir yanlız burada bilmeniz gereken şey indirilen dosyalar sunucu yorum aşamasında kullanılan .php yada .asp gibi dinamik içerik sayfaları ise indirme işlemi sırasında bu sayfalar .htm yada .html şeklinde indirilecektir. Ancak diğer resim yada tema dosyaları yada javascript vs gibi sunucu tabanlı olmayan içerikler direkt olarak varoldukları dizinlere göre inecektir.

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

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

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

Örn:

wget -r -nH http://destek.bursa-bilgisayar.com/yeniklasör/

NOT: Bu komutla domain dizin yapısı yerine sadece “yeniklasör” dizin yapısı alınır.
(Sadece “/yeniklasör” dizini şeklinde)

Alan adı içerisindeki diğer dizinleri değil sadece tek bir dizini indirmek istiyorsanız.

Sizin belirlediğiniz bir dizinden başka bir dizinin indirilmesini istemiyorsanız “-m” veya “–mirror” paremetresine “-np” (–no-parent) eklediğinizde istediğiniz olur

Örn:

wget -m -np http://destek.bursa-bilgisayar.com/yeniklasör/

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” komutunu kullanarak bu işinizi halledebilirsiniz.

Örn:

wget -r -A jpg,png http://destek.bursa-bilgisayar.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” komutunu kullanabilirsiniz.

Örn:

wget -r -R tar.gz,jpg http://destek.bursa-bilgisayar.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 yapmaktır.

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 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 türlü yapabilirsiniz.

kolay yol:

wget http://KULLANICI:PASSWORT@bursabilgisayar.../deneme.tar.gz
wget ftp://KULLANICI:PASSWORT@bursabilgisayar.../deneme.tar.gz

Uzun yol:

wget ----http-user=KULLANICI --http-passwd=SIFRE http://destek.bursa-bilgisayar.com/deneme/

İndirme işlemini 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.

Örn:

wget -c --limit-rate=10k http://bursa-bilgisayar.com/movie.avi

NOT: Bu sayede sadece 10k 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.

Örn:

wget -c --input-file=/home/bursa/download_dosyası

NOT: 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 iyi güzel 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 için “-P” veya “–directory-prefix” parametresini kullanabilirsiniz.

Örn:

wget -c http://bursa-bilgisayar.com/movie.avi -P /home/bursa/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 / 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 indiriyuorsunuz. 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.

Örn:

21.08.2003 de aşağıdaki komutu verdiniz:

wget -r -nH http://bursa-bilgisayar.com/yeniklasör

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://bursa-bilgisayar.com/yeniklasör/

NOT: 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. Neden?

Bazı FTP serverleri sadece passive-ftp modunda izin verebilir. Bu durumda wget ile işlem yaparken
“–passive-ftp” parametresini eklemenizde fazda var.

Örn:

wget -c --passive-ftp http://bursa-bilgisayar.com/movie.avi

LOG tutturmak:

İstatistiklere önem veriyorsanız. WGET ile Log tutabilirsiniz?

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

Örn:

wget -r -nH http://bursa-bilgisayar.com/yeniklasör/ -o log_dosyasi

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

Aslında komutlar bunlar ile sınırlı değil komut ekranını hakkında yardım görüntülemek için wget –help yazıp gönderirseniz gerekli bütün komutlar gözünüzün önüne gelecektir.ben yinede size alt bölümde ayrıntılı olarak bir kaç komut daha göstereceğim.

Uzun seçeneklerdeki zorunlu argümanlar kısa seçeneklerde de zorunludur.

Başlangıç:

  -V,  --version              Wget sürümünü gösterir ve çıkar.
  -h,  --help                 bu yardım metnini basar.
  -b,  --background           artalanda başlatılır.
  -e,  --execute=KOMUT        `.wgetrc' tarzı bir komut çalıştırmak için.

Günlük kaydı ve girdi dosyası:

 -o,  --output-file=DOSYA    Günlük kayıtları DOSYAya yazılır.
  -a,  --append-output=DOSYA  iletiler DOSYAya eklenir.
  -d,  --debug                hata ayıklama bilgileri basılır.
  -q,  --quiet                hiçbir bilgi verilmez (sessiz çalışma).
  -v,  --verbose              ayrıtılı bilgi verilir (öntanımlıdır).
  -nv, --no-verbose           daha az ayrıntılı bilgi verilir.
  -i,  --input-file=FILE     download URLs found in local or external FILE.
  -F,  --force-html           girdi dosyasının HTML olduğu varsayılır.
  -B,  --base=URL            resolves HTML input-file links (-i -F)
                             relative to URL.

İndirme:

 -t,  --tries=SAYI           yineleme SAYIsı (0: sınırsız).
       --retry-connrefused       bağlantı reddedilse bile yeniden dener.
  -O,  --output-document=DOSYA
                               belgeler DOSYAya yazılır.
  -nc, --no-clobber           Mevcut dosyalar tekrar indirilmez.
  -c,  --continue             dosya yarım kalmışsa kaldığı yerden devam
                              ettirilir.
       --progress=TÜR         süreç göstergesi TÜRü.
  -N,  --timestamping         mevcuttan daha yeni olmayan dosyalar indirilmez.
  -S,  --server-response      sunucunun yanıtını basar.
       --spider               hiçbir şey indirilmez (araştırma kipi).
  -T,  --timeout=SÜRE         saniye cinsinden zamanaşımı SÜREsi.
       --dns-timeout=SÜRE      saniye cinsinden isim çözümleme SÜREsi.
       --connect-timeout=SÜRE saniye cinsinden bağlantı zamanaşımı SÜREsi
       --read-timeout=SÜRE    saniye cinsinden okuma zamanaşımı SÜREsi
  -w,  --wait=SÜRE            saniye cinsinden alımlar arasındaki bekleme
                              SÜREsi
       --waitretry=BSÜRE      saniye cinsinden alımın yinelenmesini bekleme
                              SÜREsi
       --random-wait          alımlar arasında 0 ile 2*BSÜRE saniye arasında
                              bekleme yapar.
       --no-proxy             vekil kullanılmaz.
  -Q,  --quota=SAYI           alım kotasını SAYIya ayarlar.
       --bind-address=ADRES   makinenizin adresi (isim ya da IP) olarak bu
                              ADRES gösterilir.
       --limit-rate=HIZ         indirme HIZ sınırı.
       --no-dns-cache         isim çözümlemesi kayıtları tutulmaz.
       --restrict-file-names=İŞLETİM-SİSTEMİ
                              dosya ismi uzunluğunu İŞLETİM-SİSTEMİnin izin
                              verdiği uzunluğa ayarlar.
       --ignore-case             dosya/dizin eşleştirmesinde büyük/küçük harf ayrımını gözardı et.
  -4,  --inet4-only           sadece IPv4 adreslere bağlanılır.
  -6,  --inet6-only           sadece IPv6 adreslere bağlanılır.
       --prefer-family=AİLE   ilk bağlantı belirtilen AİLEdeki adrese yapılır.
                              IPv6, IPv4 ya da none belirtilebilir.
       --user=İSİM            ftp ve http kullanıcı ismi olarak bu İSİM
                              kullanılır.
       --password=PAROLA      ftp ve http kullanıcı parolası olarak bu
                              PAROLA kullanılır.
       --ask-password            şifre bilgisi iste.
       --no-iri                  IRI desteğini kapat.
       --local-encoding=ENC      IRI'ler için yerel kodlama olarak ENC kullan.
       --remote-encoding=ENC     varsayılan uzak kodlama olarak ENC kullan.

Dizinler:

-nd, --no-directories    dizin oluşturulmaz.
  -x,  --force-directories mutlaka dizin oluşturulur.
  -nH, --no-host-directories
                           karşı tarafın dizin yapısına uyulmaz.
       --protocol-directories
                           dizinlerde protokol ismi kullanılır.
  -P,  --directory-prefix=DİZİN  dosyalar belirtilen DİZİN altına kaydedilir.
       --cut-dirs=SAYI        belirtilen SAYIda uzak dizin bileşeni yoksayılır

HTTP seçenekleri:
       --http-user=İSİM       http kullanıcı İSMİ.
       --http-password=PAROLA http kullanıcı PAROLASI.
       --no-cache             sunucu-arabellekli veriye izin verilmez.
       --default-page=NAME     Varsayılan sayfa adını değiştir (genellikle
                               `index.html' dosyasıdır.).
  -E,  --adjust-extension      HTML/CSS belgelerini uygun uzantılarla kaydet.
       --ignore-length        `Content-Length' başlık alanı yoksayılır.
       --header=DİZGE         başlık yerine DİZGE konur.
       --max-redirect          sayfa başına izin verilen en fazla yönlendirme sayısı.
       --proxy-user=İSİM      vekil kullanıcı İSMİ.
       --proxy-password=PAROLA
                              vekil kullanıcı PAROLASI.
       --referer=ADRES        HTTP isteğinde `Referer: ADRES' başlığı
                              kullanılır.
       --save-headers         HTTP başlıkları dosyaya kaydedilir.
  -U,  --user-agent=AJAN      Wget/SÜRÜM yerine AJAN kullanılır.
       --no-http-keep-alive   HTTP keep-alive (sürekli bağlantı) iptal edilir.
       --no-cookies           çerezler kullanılmaz.
       --load-cookies=DOSYA   çerezler oturumdan önce DOSYAdan yüklenir.
       --save-cookies=DOSYA   çerezler oturumdan sonra DOSYAya kaydedilir.
       --keep-session-cookies çerezleri sadece oturum için yükler ve kaydeder
       --post-data=DİZGE      POST yöntemi kullanılır; veri olarak DİZGE
                              gönderilir.
       --post-file=DOSYA      POST yöntemi kullanılır; veri olarak DOSYA
                              içeriği gönderilir
       --content-disposition   honor the Content-Disposition header when
                               choosing local file names (EXPERIMENTAL).
       --auth-no-challenge     send Basic HTTP authentication information
                               without first waiting for the server's
                               challenge.

HTTPS (SSL/TLS) seçenekleri:

 --secure-protocol=PR   güvenlik protokolü belirtilir;
                               auto, SSLv2, SSLv3 veya TLSv1 belirtilebilir.
       --no-check-certificate sunucu sertifikası doğrulatılmaz.
       --certificate=DOSYA    istemci sertifika DOSYAsı.
       --certificate-type=TÜR istemci sertifika TÜRü; PEM veya DER.
       --private-key=DOSYA    gizli anahtar DOSYAsı.
       --private-key-type=TÜR gizli anahtar TÜRü; PEM veya DER.
       --ca-certificate=DOSYA sertifika yetkilisinin (CA) bohçası için DOSYA.
       --ca-directory=DİZİN   sertifika yetkilisinin (CA) çırpılarının yeri.
       --random-file=DOSYA    SSL PRNG'sini tohumlamak için rasgele veri
                              içeren DOSYA.
       --egd-file=DOSYA       EGD soketini isimlendirmek için rasgele veri
                              içeren DOSYA.

FTP seçenekleri:

 --ftp-user=İSİM        ftp kullanıcı İSMİ.
       --ftp-password=PAROLA  ftp kullanıcı PAROLAsı.
       --no-remove-listing    `.listing' uzantılı dosyalar silinmez.
       --no-glob              FTP dosya ismi arama kalıpları kullanılmaz.
       --no-passive-ftp       "passive" aktarım kipini iptal eder.
       --retr-symlinks        alt dizinlerdeki sembolik bağlı dosyalar
                              (dizinler değil) alınır.

Ne varsa indirme seçenekleri:

 -r,  --recursive            ne varsa indirilir.
  -l,  --level=SAYI           inilecek azami dizin derinliği
                              (sonsuz için inf veya 0 belirtin).
       --delete-after       indirilen dosyaları indirdikten sonra siler.
                            (tabii ki yerel)
  -k,  --convert-links      make links in downloaded HTML or CSS point to
                            local files.
  -K,  --backup-converted     dosyayı dönüştürmeden önce .orig uzantılı
                              yedeğini alır.
  -m,  --mirror             -N -r -l inf--no-remove-listing için kısayol.
  -p,  --page-requisites    HTML sayfada gösterilmesi gerekli herşeyi
                            (resimler, v.s.) indirir.
       --strict-comments      HTML açıklama alanlarında belirtime uyulur.

Ne varsa indirmede kabul/red seçenekleri:

 -A,  --accept=LISTE         izin verilecek dosya uzatılarının virgül ayraçlı
                              listesi
  -R,  --reject=LISTE         reddedilecek dosya uzatılarının virgül ayraçlı
                              listesi
  -D,  --domains=LISTE        izin verilecek alan isimlerinin virgül ayraçlı
                              listesi
       --exclude-domains=LISTE
                              reddedilecek alan isimlerinin virgül ayraçlı
                              listesi
       --follow-ftp           HTML belgelerdeki FTP bağları izlenir.
       --follow-tags=LISTE    izin verilen HTML etiketlerinin virgül
                              ayraçlı listesi.
       --ignore-tags=LISTE    yoksayılacak HTML etiketlerinin virgül
                              ayraçlı listesi.
  -H,  --span-hosts        rastlandıkça başka makinelerdekilerde alınır.
  -L,  --relative          sadece göreli bağlar izlenir.
  -I,  --include-directories=LISTE
                           izin verilen dizinlerin listesi.
  --trust-server-names  use the name specified by the redirection url last component.
  -X,  --exclude-directories=LISTE
                           dışlanacak dizinlerin listesi.
  -np, --no-parent         üst dizine çıkılmaz.

Bir makalemizdaha burada son bulurken dilerim sizlere bir nebze yardımcı olabilmişimdir.

www.hostingtc.com ‘a katkılarından ötürü teşekkürederim. -bilgisayar.com’dan saygılar sevgiler .

2.373 Responses to “Wget Nedir Wget Komutları Nelerdir Wget Nasıl Kullanılır”

Sayfalar: « 50411 10 9 8 7 6 5 4 3 2 [1] Show All

  1. 5
    yvohzmi Says:

    başarılarının devamını diliyorum

  2. 4
    aeroperie Says:

    güzel bir yazı olmuş

  3. 3
    xkcubnt Says:

    wget bilmeyenler için çok faydalı

  4. 2
    Loammoficcamn Says:

    çözüm için teşekkürler

  5. 1
    quimiinnodo Says:

    bursadaki bilgisayarcılar

Sayfalar: « 50411 10 9 8 7 6 5 4 3 2 [1] Show All

Leave a Reply

 Characters available