Comment demander un fichier sans l'enregistrer avec Wget? [fermé]

140

J'utilise Wget pour envoyer des requêtes http à un nouveau serveur Web. Je fais cela pour réchauffer le cache MySQL. Je ne souhaite pas enregistrer les fichiers après leur diffusion.

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

Puis-je faire quelque chose comme -do-not-save-fileavec wget?

T. Brian Jones
la source
3
C'est une meilleure question pour Super User ou Unix.SE.
Matt Ball
4
en tant que développeur, je veux tester un serveur avec wget et que cette question est sérieusement sur le sujet. Comme la meilleure réponse sur le sujet a obtenu 142 votes positifs, cette question devrait donc être réactivée en tant que sur le sujet
Mladen Adamovic
Alternativement à -q et -O, utilisez les indicateurs -nd (pas de répertoire) et --delete-after.
Suzana
1
Selon la documentation d'aide (wget -h), vous pouvez utiliser l'option --spider pour ignorer le téléchargement (version 1.14).
rocky qi

Réponses:

257

Utilisez l' qindicateur pour le mode silencieux, et indiquez wgetde sortie vers stdout avec O-(o majuscule) et redirigez vers /dev/nullpour supprimer la sortie:

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

>redirige la sortie de l'application (vers un fichier). si >est précédé d'une esperluette, le shell redirige toutes les sorties (erreur et normale) vers le fichier à droite de >. Si vous ne spécifiez pas d'esperluette, seule la sortie normale est redirigée.

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

si le fichier est /dev/nullalors tout est rejeté.

Cela fonctionne aussi bien et plus simple:

wget -O/dev/null -q $url
perréel
la source
qu'est-ce que l'esperluette et plus grand que faire dans cette commande? pouvez-vous simplement diriger la sortie vers / dev / null ... wget -qO- | / dev / null ...?
T.Brian Jones
Euh, j'ai essayé ça et ça n'a pas marché pour moi. D'après ce que j'ai découvert, l'esperluette devrait venir après le symbole supérieur à.
Tiago Espinha
7
Pour les utilisateurs Windows: wget -q -O NUL http: // ... Désactive la journalisation et achemine le téléchargement vers NUL (identique à / dev / null)
vidario
wget --spider $ url Le fera.
thebugfinder
1
wget -O / dev / null $ url
Tempête
43

Curl fait cela par défaut sans aucun paramètre ni indicateur, je l'utiliserais à vos fins:

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

Curl concerne davantage les flux et wget consiste davantage à copier des sites en fonction de cette comparaison .

Oleg Mikheev
la source
1
Froid, expliquez-vous ce que signifie 2> & 1? J'obtiens> mais pourquoi la fin?
apscience
2
@gladoscc >/dev/nullredirige d' abord std vers / dev / null ( >/dev/nullabréviation de 1>/dev/null), le second redirige std err vers std out.
Oleg Mikheev
@apscience Juste pour ajouter. Le descripteur de fichier pour std out est 1. Les shells supposent std out lorsque vous supprimez le descripteur d'une redirection. Ainsi >fooest interprété comme 1>foo. Lorsque &suit une redirection, il demande au shell de rediriger l'ancien descripteur de fichier vers la même sortie que le dernier. Dans ce cas, 2>&1dit rediriger le descripteur de fichier 2 (erreur std) au même endroit que le descripteur de fichier 1 (sortie std). Puisque std out est déjà redirigé vers / dev / null, std err y sera également redirigé. Vous pouvez également écrire: 1>/dev/null 2>/dev/nullou 2>/dev/null >&2.
ktbiz
Cette réponse est correcte, mais inclut alors la même redirection de sortie que la réponse choisie. Il suffit de courir curl http://www.example.com.
Aaron Cicali du
40

Vous pouvez utiliser -O-(o majuscule) pour rediriger le contenu vers la sortie standard (sortie standard) ou vers un fichier (même des fichiers spéciaux comme /dev/null /dev/stderr /dev/stdout)

wget -O- http://yourdomain.com

Ou:

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

Ou: (même résultat que la dernière commande)

wget -O/dev/null http://yourdomain.com
Marco Biscaro
la source
Thx, fonctionne également sur Windows.
Pyjong
Merci, le direct-to- / dev / null était intelligent, et donc la bonne réponse: je veux la "sortie stats", mais pas le contenu.
stolsvik