¿Cómo solicito un archivo pero no lo guardo con Wget? [cerrado]

140

Estoy usando Wget para hacer solicitudes http a un servidor web nuevo. Estoy haciendo esto para calentar el caché de MySQL. No quiero guardar los archivos después de que se sirvan.

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

¿Puedo hacer algo como -do-not-save-filewget?

T. Brian Jones
fuente
3
Esta es una mejor pregunta para Super User o Unix.SE.
Matt Ball
44
Como desarrollador, quiero probar un servidor con wget y esta pregunta es seriamente sobre el tema. Como la mejor respuesta sobre el tema obtuvo 142 votos positivos, esta pregunta debería reactivarse como sobre el tema
Mladen Adamovic
Alternativamente a -q y -O, use los indicadores -nd (sin directorio) y --delete-after.
Suzana
1
Según el documento de ayuda (wget -h), puede usar la opción --spider para omitir la descarga (versión 1.14).
Rocky Qi

Respuestas:

257

Use el qindicador para el modo silencioso, y diga wgeta la salida que stdout con O-(mayúscula o) y redirija a /dev/nullpara descartar la salida:

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

>redirige la salida de la aplicación (a un archivo). si >está precedido por un signo y, shell redirige todas las salidas (error y normal) al archivo a la derecha de >. Si no especifica ampersand, solo se redirige la salida normal.

./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 el archivo es /dev/nullentonces todo se descarta.

Esto también funciona y es más simple:

wget -O/dev/null -q $url
perreal
fuente
¿Qué hace el signo y mayor que en este comando? ¿puedes canalizar la salida a / dev / null ... wget -qO- | / dev / null ...?
T. Brian Jones
Uh, intenté esto y no funcionó para mí. Por lo que descubrí, el signo "y" debería aparecer después del símbolo mayor que.
Tiago Espinha
77
Para usuarios de Windows: wget -q -O NUL http: // ... Desactiva el registro y la descarga de rutas a NUL (igual que / dev / null)
vidario
wget --spider $ url lo hará.
thebugfinder
1
wget -O / dev / null $ url
Storm
43

Curl lo hace de forma predeterminada sin ningún parámetro o indicador, lo usaría para sus propósitos:

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

Curl se trata más de transmisiones y wget se trata más de copiar sitios basados ​​en esta comparación .

Oleg Mikheev
fuente
1
¿Frío explicas lo que significa 2> & 1? Me da> pero ¿por qué el final?
apscience
2
@gladoscc primero >/dev/nullredirige std out a / dev / null ( >/dev/nulles la abreviatura de 1>/dev/null), el segundo redirige std err a std out.
Oleg Mikheev
@apscience Solo para agregar. El descriptor de archivo para std out es 1. Los shells asumen std out cuando deja el descriptor desde una redirección. Entonces >foose interpreta como 1>foo. Cuando &sigue una redirección, le indica al shell que redirija el descriptor de archivo anterior a la misma salida que la posterior. En este caso, 2>&1dice redirigir el descriptor de archivo 2 (std err) al mismo lugar que el descriptor de archivo 1 (std out). Dado que std out ya se redirige a / dev / null, std err también se redirigirá allí. También puedes escribir: 1>/dev/null 2>/dev/nullo 2>/dev/null >&2.
ktbiz
Esta respuesta es correcta, pero luego incluye la misma redirección de salida que la respuesta elegida. Simplemente correr curl http://www.example.comes suficiente.
Aaron Cicali
40

Puede usar -O-(mayúscula o) para redirigir el contenido a la salida estándar (salida estándar) o a un archivo (incluso archivos especiales como/dev/null /dev/stderr /dev/stdout )

wget -O- http://yourdomain.com

O:

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

O: (mismo resultado que el último comando)

wget -O/dev/null http://yourdomain.com
Marco Biscaro
fuente
Thx, también funciona en Windows.
Pyjong
Gracias, direct-to- / dev / null fue inteligente y, por lo tanto, la respuesta correcta: quiero la "salida de estadísticas", pero no el contenido.
stolsvik