
Este es el resultado del comando de árbol en un directorio:
.
|-- asdf.txt
|-- asd.txt
|-- fabc
| |-- fbca
| `-- file1.txt
|-- fldr1
|-- fldr2
| `-- index.html
|-- fldr3
| |-- cap.txt
| `-- f01
`-- out.txt
6 directories, 6 files
Inicio un servidor http local en este directorio. A continuación ejecuto el siguiente comando:
wget -r -nv --spider --no-parent http://localhost:3000 -o -
...y obtenga el siguiente resultado:
2017-01-02 20:07:24 URL:http://localhost:3000/ [1580] -> "localhost:3000/index.html" [1]
http://localhost:3000/robots.txt:
2017-01-02 20:07:24 ERROR 404: Not Found.
2017-01-02 20:07:24 URL:http://localhost:3000/fabc/ [897] -> "localhost:3000/fabc/index.html" [1]
2017-01-02 20:07:24 URL:http://localhost:3000/fldr1/ [536] -> "localhost:3000/fldr1/index.html" [1]
2017-01-02 20:07:24 URL:http://localhost:3000/fldr2/ [0/0] -> "localhost:3000/fldr2/index.html" [1]
2017-01-02 20:07:24 URL:http://localhost:3000/fldr3/ [896] -> "localhost:3000/fldr3/index.html" [1]
2017-01-02 20:07:24 URL: http://localhost:3000/asd.txt 200 OK
unlink: No such file or directory
2017-01-02 20:07:24 URL: http://localhost:3000/asdf.txt 200 OK
unlink: No such file or directory
2017-01-02 20:07:24 URL: http://localhost:3000/out.txt 200 OK
unlink: No such file or directory
2017-01-02 20:07:24 URL:http://localhost:3000/fabc/fbca/ [548] -> "localhost:3000/fabc/fbca/index.html" [1]
2017-01-02 20:07:24 URL: http://localhost:3000/fabc/file1.txt 200 OK
unlink: No such file or directory
2017-01-02 20:07:24 URL:http://localhost:3000/fldr3/f01/ [548] -> "localhost:3000/fldr3/f01/index.html" [1]
2017-01-02 20:07:24 URL: http://localhost:3000/fldr3/cap.txt 200 OK
unlink: No such file or directory
Found no broken links.
FINISHED --2017-01-02 20:07:24--
Total wall clock time: 0.3s
Downloaded: 7 files, 4.9K in 0s (43.4 MB/s)
- ¿Wget está escrito para buscar siempre
index.html
? ¿Podemos desactivar esto? - ¿Cuáles son esos números como 1580, 536, 0/0, etc.?
- ¿Por qué dice
unlink: No such file or directory
?
Respuesta1
Puede intentar omitir archivos con
--reject
la opción (también acepta comodines):wget --rechazar index.html
Sin embargo, no quieres hacer esto. Cuando se usa wget con -r
, de alguna manera necesita obtener una lista de archivos dentro del directorio. Por lo tanto, wget solicita el archivo index.html y analiza el contenido con la esperanza de obtener rutas a otros archivos en este directorio. Cuando no hay ningún archivo index.html en la carpeta, el servidor web normalmente lo generará para wget; este archivo contendrá la lista del directorio. La creación de este archivo de lista debe estar habilitada en el servidor web; de lo contrario, wget recibirá una respuesta HTTP 404 y fallará con la descarga recursiva.
- Este es el tamaño del archivo en bytes.
- Esto significa que no se pudo eliminar un archivo (probablemente porque no se creó en primer lugar). ¿Tiene permiso de escritura en el directorio en el que descarga con wget?
Editar:Después de probar las descargas de wget --spider
, --recursive
reproduje el error de desvinculación. Parece que wget usa el tipo de contenido de respuesta para determinar si el archivo puede contener enlaces a otros recursos. Si la prueba de tipo de contenido falla y el archivo no se descarga, wget seguirá intentando eliminar el archivo temporal, como si se hubiera descargado (esto es evidente al volver a ejecutar wget con --debug
. Indicará claramente Removing file due to --spider in recursive_retrieve():
). Supongo que encontraste un error en wget.