Wie fordere ich eine Datei an, speichere sie aber nicht mit Wget? [geschlossen]

140

Ich verwende Wget, um http-Anfragen an einen neuen Webserver zu senden. Ich mache das, um den MySQL-Cache zu erwärmen. Ich möchte die Dateien nicht speichern, nachdem sie bereitgestellt wurden.

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

Kann ich so etwas wie -do-not-save-filemit wget machen?

T. Brian Jones
quelle
3
Dies ist eine bessere Frage für Super User oder Unix.SE.
Matt Ball
4
Als Entwickler möchte ich einen Server mit wget testen und dann ist diese Frage ernsthaft themenbezogen. Da die beste Antwort zum Thema 142 positive Stimmen erhielt, sollte diese Frage als themenbezogen wieder aktiviert werden
Mladen Adamovic
Verwenden Sie alternativ zu -q und -O die Flags -nd (kein Verzeichnis) und --delete-after.
Suzana
1
Laut Hilfedokument (wget -h) können Sie die Option --spider verwenden, um den Download zu überspringen (Version 1.14).
Rocky Qi

Antworten:

257

Verwenden Sie das qFlag für den leisen Modus und teilen Sie wgetmit, dass die Ausgabe mit O-(Großbuchstabe o) an stdout ausgegeben und an umgeleitet werden soll /dev/null, um die Ausgabe zu verwerfen:

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

>Leitet die Anwendungsausgabe (in eine Datei) um. Wenn ein >kaufmännisches Und vorangestellt ist, leitet die Shell alle Ausgaben (Fehler und Normal) an die Datei rechts von um >. Wenn Sie kein kaufmännisches Und angeben, wird nur die normale Ausgabe umgeleitet.

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

Wenn die Datei vorhanden ist, /dev/nullwird alles verworfen.

Dies funktioniert auch und einfacher:

wget -O/dev/null -q $url
perreal
quelle
Was bedeutet das kaufmännische Und größer als in diesem Befehl? Können Sie die Ausgabe einfach an / dev / null weiterleiten ... wget -qO- | / dev / null ...?
T. Brian Jones
Äh, ich habe es versucht und es hat bei mir nicht funktioniert. Nach allem, was ich herausgefunden habe, sollte das kaufmännische Und nach dem Größer-als-Symbol stehen.
Tiago Espinha
7
Für Windows-Benutzer: wget -q -O NUL http: // ... Deaktiviert die Protokollierung und leitet den Download an NUL weiter (wie / dev / null)
vidario
wget --spider $ url Wird es tun.
Thebugfinder
1
wget -O / dev / null $ url
Sturm
43

Curl macht das standardmäßig ohne Parameter oder Flags, ich würde es für Ihre Zwecke verwenden:

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

Bei Curl geht es mehr um Streams und bei wget geht es mehr um das Kopieren von Websites, die auf diesem Vergleich basieren .

Oleg Mikheev
quelle
1
Kalt erklärst du was 2> & 1 bedeutet? Ich bekomme> aber warum das Ende?
Apscience
2
@gladoscc >/dev/nullleitet zuerst std out nach / dev / null um ( >/dev/nullsteht für 1>/dev/null), die zweite leitet std err nach std out um.
Oleg Mikheev
@apscience Nur um hinzuzufügen. Der Dateideskriptor für std out ist 1. Shells nehmen std out an, wenn Sie den Deskriptor von einer Umleitung weglassen. So >foowird interpretiert als 1>foo. Wenn &eine Umleitung folgt, wird die Shell angewiesen, den früheren Dateideskriptor auf dieselbe Ausgabe wie die spätere umzuleiten . In diesem Fall wird der 2>&1Dateideskriptor 2 (std err) an dieselbe Stelle wie der Dateideskriptor 1 (std out) umgeleitet. Da std out bereits nach / dev / null umgeleitet wird, wird std err auch dort umgeleitet. Sie könnten auch schreiben: 1>/dev/null 2>/dev/nulloder 2>/dev/null >&2.
Ktbiz
Diese Antwort ist korrekt, enthält dann jedoch dieselbe Ausgabeumleitung wie die ausgewählte Antwort. Einfach laufen curl http://www.example.comist ausreichend.
Aaron Cicali
40

Sie können -O-(Großbuchstabe o) verwenden, um Inhalte an die Standardausgabe (Standardausgabe) oder an eine Datei (auch spezielle Dateien wie /dev/null /dev/stderr /dev/stdout) umzuleiten.

wget -O- http://yourdomain.com

Oder:

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

Oder: (gleiches Ergebnis wie letzter Befehl)

wget -O/dev/null http://yourdomain.com
Marco Biscaro
quelle
Thx, funktioniert auch unter Windows.
Pyjong
Danke, das Direct-to- / dev / null war klug und damit die richtige Antwort: Ich möchte die "Statistikausgabe", aber nicht den Inhalt.
Stolsvik