Bir dosyayı nasıl isteyebilirim ancak Wget ile nasıl kaydetmeyebilirim? [kapalı]


140

Yeni bir web sunucusuna http istekleri yapmak için Wget kullanıyorum. Bunu MySQL önbelleğini ısıtmak için yapıyorum. Dosyaları sunulduktan sonra kaydetmek istemiyorum.

wget -nv -do-not-save-file $url

-do-not-save-fileWget gibi bir şey yapabilir miyim ?


3
Bu Süper Kullanıcı veya Unix.SE için daha iyi bir soru.
Matt Ball

4
bir geliştirici olarak wget ile bir sunucuyu test etmek istiyorum ve bu soru daha ciddi bir konu. Konuyla ilgili en iyi yanıt 142 olumlu oy aldığından, bu soru konuyla ilgili olarak yeniden etkinleştirilmelidir
Mladen Adamovic

-Q ve -O seçeneklerine alternatif olarak -nd (dizin yok) ve --delete-after bayraklarını kullanın.
Suzana

1
Yardım doc (wget -h) 'ye göre indirmeyi atlamak için --spider seçeneğini kullanabilirsiniz (sürüm 1.14).
rocky qi

Yanıtlar:


257

qSessiz mod için işaret kullanın ve wgetçıktıya stdout'a O-(büyük harf o) basın ve /dev/nullçıktıyı atmak için yönlendirin :

wget -qO- $url &> /dev/null

>uygulama çıktısını yeniden yönlendirir (bir dosyaya). >önce ve işareti gelirse , kabuk tüm çıkışları (hata ve normal) sağındaki dosyaya yönlendirir >. Ve işareti belirtmezseniz, yalnızca normal çıktı yeniden yönlendirilir.

./app &>  file # redirect error and standard output to file
./app >   file # redirect standard output to file
./app 2>  file # redirect error output to file

dosya varsa /dev/nulltüm atılır.

Bu da işe yarar ve daha basit:

wget -O/dev/null -q $url

ve işareti bu komutta olduğundan daha büyüktür? sadece / dev / null çıktı boru olabilir ... wget -qO- | / dev / null ...?
T. Brian Jones

Bunu denedim ve benim için işe yaramadı. Bulduğum kadarıyla, ve işareti sembolün üstünden gelmelidir.
Tiago Espinha

7
Windows kullanıcıları için: wget -q -O NUL http: // ... Günlüğü ve yolları
NUL'a

wget - spider $ url Yapacak.
thebugfinder

1
wget -O / dev / null $ url
Fırtına

43

Curl bunu herhangi bir parametre veya bayrak olmadan varsayılan olarak yapar, sizin amaçlarınız için kullanırım:

curl $url > /dev/null 2>&1

Curl daha çok akışlarla ilgilidir ve wget bu karşılaştırmaya dayanarak siteleri kopyalamakla ilgilidir .


1
Soğuk, 2> & 1'in ne anlama geldiğini açıklıyor musunuz? Anlıyorum> ama neden son?
apscience

2
@gladoscc önce std out / dev / null'a >/dev/nullyönlendirir ( kısaltmasıdır ), ikinci std err'yi std err . >/dev/null1>/dev/null
Oleg Mikheev

@apscience Sadece eklemek için. Std out için dosya tanımlayıcı 1'dir. Tanımlayıcıları bir yönlendirmeden ayırdığınızda, kabuklar std'yi varsayır. Bu >fooşekilde yorumlanır 1>foo. Bir &yeniden yönlendirmeyi izlediğinde, kabuğa eski dosya tanımlayıcıyı daha sonraki ile aynı çıktıya yönlendirmesini bildirir. Bu durumda, 2>&1dosya tanımlayıcı 2'yi (std err) dosya tanımlayıcı 1 (std çıkışı) ile aynı yere yeniden yönlendirin diyor. Standart çıkış zaten / dev / null'a yönlendirildiğinden, standart hata da oraya yönlendirilecektir. Ayrıca şunu da yazabilirsiniz: 1>/dev/null 2>/dev/nullveya 2>/dev/null >&2.
ktbiz

Bu yanıt doğrudur, ancak daha sonra seçilen yanıtla aynı çıkış yönlendirmesini içerir. Sadece koşmak curl http://www.example.comyeterlidir.
Aaron Cicali

40

-O-İçeriği stdout'a (standart çıktı) veya bir dosyaya (hatta özel dosyalar gibi /dev/null /dev/stderr /dev/stdout) yönlendirmek için (büyük harf o) kullanabilirsiniz

wget -O- http://yourdomain.com

Veya:

wget -O- http://yourdomain.com > /dev/null

Veya: (son komutla aynı sonuç)

wget -O/dev/null http://yourdomain.com

Thx, pencerelerde de çalışır.
Pyjong

Teşekkürler, doğrudan-dev / null doğrudan ve böylece doğru cevap: Ben "istatistik çıktı" istiyorum, ama içeriği değil.
stolsvik
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.