Transferencia de directorio desde ftp

Mi pregunta es sencilla pero no he encontrado la solución.
Me gustaría saber como bajarme desde un servidor ftp unos archivos pero conservando la ruta de directorio pero todo ello desde la línea de comandos.

2 Respuestas

Respuesta
2
El protocolo FTP (File Transfer Protocol) está diseñado para la transmisión de ficheros desde un servidor, a un cliente.
Para ello se utilizan dos conexiones, generalmente por los puertos 20 y 21 (20 para datos y 21 para control).
Por el 20 viajan tanto los ficheros, como el resultado de listar el contenido de un directorio. El destino de estos ficheros es la carpeta donde iniciamos el ftp, y el listado la salida estándar.
Por el 21 viajan todos los comandos que enviamos al servidor, así como las respuestas de error, inicio de descarga ... incluido el resultado de PWD (que es lo que nos devuelve el path).
El hecho de que el path viaje por la conexión de control, hace que se muestre unicamente por la salida estándar del sistema (que suele ser la pantalla). Ni siquiera el comando de redireccionamiento de la salida estándar ">" funciona, porque el protocolo ftp no lo reconoce.
Para intentar solucionar un poco esto, se creo la comanda MLS, donde te dice que puedes guardar el listado de un directorio en una carpeta (pero no el path entero). Como podrás ver, esto no te sirve para hacer una ruta completa hasta un fichero.
Así pues, no queda más remedio que hacer una copia manual del árbol de directorios en cuestión, e ir bajándote los archivos luego a las diferentes carpetas.
Para moverte por tu disco duro, utiliza la comanda LCD, te será todo mucho más rápido.
Siento que la noticia no haya sido muy alentadora, pero el protocolo está diseñado para trabajar con ficheros, no con rutas.
Si tienes cualquier duda más, estoy a tu disposición.
Respuesta
1
Bueno la solución más sencilla es la siguiente por decirlo más claro te pondré un ejemplo:puedes escribir en el campo de direcciones del IE la dirección ftp://ftp.microsoft.com/. De esta manera, como resultado de tu búsqueda tendrás una lista de archivos y directorios, a través de los cuales podrás navegar cliqueando sobre cada uno de ellos, aunque seguramente el aspecto te parezca un poco extraño y aburrido, comparado con el de una página Web bien diseñada.
Pero a pesar de su apariencia, en realidad hay algunas ventajas en cuanto al uso del FTP. Una de ellas, es que utilizando el FTP los archivos bajarán más rápido ya que se descargan desde el servidor FTP, en lugar de hacerlo de un sitio Web, a pesar que todo depende de la cantidad de MB que ocupe cada uno.
Por otro lado, la simplicidad de la interfase de un sitio FTP puede también ser una ventaja, ya que no tendrás que perder tiempo navegando por un sitio complicado, con millones de links que nunca te conducen hacia donde deseas, solo tendrás que buscar las carpetas adecuadas y bajar el software. Además, las actualizaciones y las nuevas aplicaciones aparecen siempre en los sitios FTP antes de los sitios web.
Pero, FTP no se utiliza solamente para bajar archivos, ya que quizás tengas tu propia página, y debas subir archivos a algún servidor. En la mayoría de los casos, el FTP es la forma típica de hacerlo.
El único problema puede ser encontrar lo que realmente buscas en alguno de los sitios de FTP de la Web. Para que todo sea más fácil debes utilizar un buscador, al igual que lo utilizas en una página Web. La solución original a este problema era Archie, un sistema creado algunos años atrás en la McGill University of Canadá, que se encargaba de explorar sitios de FTP de toda la Web para producir una lista ordenada de su contenido, en la cual el usuario podía encontrar lo que buscaba. ¿Deseas visitarlo..? http://archie.emnet.co.uk/.
Cuando localices un sitio, recuerda que lo que estás viendo es una lista de directorios, y para ver todo lo que el sitio te ofrece debes buscar un archivo que diga INDEX, o README. Luego, una vez aquí, puedes comenzar a investigar los directorios para ver que hay dentro y encontrar lo que deseas.
Los navegadores modernos vienen con un razonable soporte para FTP, sin embargo, hay varios programas que te permiten manejar el FTP de una manera sencilla, y te brindan muchas más ventajas.
Comencemos por el principio, la mayoría de estos programas incluyen una lista de sitios para que puedas explorar. Cuando entras en uno de ellos el programa te brinda un nombre de usuario y un password.
Pero aún así, es posible que tu primer intento de entrada a uno de ellos falle, ya que los sitios FTP solo permiten una cantidad limitada de usuarios al mismo tiempo, para evitar que disminuya la velocidad del servicio. Para evitarte una pérdida de tiempo, la mayoría de los programas de FTP tratan de conectarse automáticamente a estos lugares cada vez que no puedes ingresar.
Una vez que accedes al sitio, puedes comenzar a buscar lo que necesitas. Por ejemplo, el cliente Terrapin FTP posee una herramienta particular. Simplemente debes dar una especificación de los archivos que deseas, como por ejemplo *.txt, y debería aparecer una palabra opcional en la descripción del archivo, para que el cliente busque en el directorio o en todo el sitio, los archivos que requieres.
Otro tipos de clientes tienen un aspecto similar al Explorador de Windows, con herramientas del tipo drag-and-drop, para facilitar la transferencia. Solo deberás seleccionar un archivo o un conjunto del servidor de FTP, y arrastarlo hasta descargarlo en alguna carpeta de tu computadora. Para subir archivos, el proceso es exactamente el inverso.
Este sistema también es el ideal para crear tu propio sitio Web, ya que te permite subir directorios enteros a tu servidor, manteniendo el sitio constantemente actualizado, con una opción de sincronización para asegurar que solo se suban los archivos modificados.
Espero que te haya servido de ayuda de necesitar algo más no dudes en hacérmelo saber.
Buenas tardes,
En primer lugar muchas gracias por atender mi pregunta.
Pero lo que me gustaría saber es si el comando mget o otro tiene algún parámetro para poder bajarme archivos desde un ftp que contiene directorio ya que al utilizarlo me quita los directorio y me mezcla todo los archivos.
Gracias,
Saludos.
P.D. Ya se que desde el navegador o de los múltiples programas de ftp del mercado se puede hacer pero no me sirve para lo que yo quiero, siempre y cuando no me meta en la systems call y me creo mi propio ftp.
Bueno imagino que esto te sucederé por que no conoces los comandos para moverte dentro de un ftp así que aquí te los detallo:
Lcd "directorio-local": Permite moverse de un directorio a otro en el host local.
Lcd "unidad": Para cambiar de una unidad de disco a otra, en el caso particular de que el host local sea una PC.
cd "directorio-remoto": Para accesar de un directorio a otro en el host remoto.
Lls "directorio-local": Para desplegar el contenido de un directorio en el host local.
dir "directorio-remoto" o ls "directorio-remoto": Para desplegar el contenido de un directorio en el host remoto.
! "comando": Para ejecutar un comando en el host local
delete "fichero-remoto": Para borrar un fichero en el host remoto.
delete "ficheros-remotos": Para borrar varios ficheros en el host remoto.
rmdir "directorio-remoto": Para borrar un directorio en el host remoto.
mkdir "directorio-remoto": Para crear un directorio en el host remoto.
Pwd: Para saber el directorio en el que se está, en el host remoto.
Utilizando el FTP se puede realizar la transferencia de datos en dos formatos diferentes: ascii y binario. Por defecto, la transferencia se hace en modo ascii.
Para saber que tipo de formato está activado para realizar las transferencias, se puede utilizar el comando: type.
Para realizar la transferencia en modo ascii, se puede utilizar el comando: ascii o type ascii.
Para hacer la transferencia en modo binario, se puede utilizar el comando: binary o type binary.
Transferencia de ficheros del host remoto al host local
Para transferir un fichero del host remoto al local, se utiliza el comando: get o recv (son equivalentes). La sintaxis es: get "fichero-remoto" o get (remote-file) "fichero-remoto".
Si es necesario cambiar el nombre del fichero que se va a transmitir, se utiliza el comando: get "fichero-remoto" "fichero-local".
Si se quiere transferir varios ficheros del host remoto al local, se utiliza el comando mget. La sintaxis es: mget "lista de nombres de los ficheros-remotos" o mget (remote-files) "lista de nombres de los ficheros-remotos".
Entonces tenemos que:
Si está en Interactive mode on, va a solicitar confirmación antes de transferir cada uno de los ficheros especificados.
Si está en Interactive mode off, no va a solicitar confirmación antes de transferir cada uno de los ficheros especificados.
Para cambiar de mode on a mode off, o viceversa, se puede utilizar el comando prompt, cuya sintaxis, es: prompt.
Los ficheros van separados por espacios en blanco y pueden incluir los metacaracteres.
Transferencia de ficheros del host local al host remoto
Para transferir un fichero del host local al remoto, se puede utilizar el comando put o send (son equivalentes). La sintaxis es: put "fichero-local" o put (File) "fichero-local".
Si se quiere cambiar el nombre del fichero que se va a transmitir, se podrá utilizar: put "fichero-local" "fichero-remoto" o send "fichero-local" "fichero-remoto".
Si se quieren transmitir varios ficheros del host local al remoto, se utilizará el comando: mput. La sintaxis es: mput "lista de nombres de los ficheros-locales" o mput (local-files) "lista de nombres de los ficheros-locales".
De forma similar, en caso de transmitir ficheros con el comando mget :
Si está en Interactive mode on, va a solicitar confirmación antes de transmitir cada uno de los ficheros especificados.
Si está en Interactive mode off, no va a solicitar confirmación antes de transmitir cada uno de los ficheros especificados.
Para cambiar de mode on a mode off, o viceversa, se podrá utilizar el comando prompt, cuya sintaxis, es : prompt.
Los ficheros van separados por espacios en blanco y pueden incluir los metacaracteres.
Esa es toda la información que te puedo proporcionar acerca de los comandos de consola que se utilizan para transmitir datos utilizando el FTP (File Transfer Protocol).
Buenas de nuevo.
Gracias por el pequeño manual que me has enviado, pero ya sabia muy bien como son los comandos del ftp.
Pues bien mi pregunta solo era que si estoy en linea de comando y pongo mget * o *. * Para decargarme todo los archivos, en efecto me los baja pero me los mete todos en el mismo directorio mezclándolo todo es decir si hay archivos dentro de directorio los saca fuera y me los mezcla con los demás archivo perdiendo el directorio.
Pero como veo que el tema es así, lo dejamos y gracias por tu esfuerzo.
Saludos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas