¿Cómo descargo una carpeta completa a través de FTP en Terminal?

Respuesta

mget es lo más cercano que puede obtener con el binario FTP incluido. Tienes que mkdir y cd / lcd y luego obtener todos los archivos que coincidan con un patrón como *

El prompt alternar puede ser útil.

FTP funciona dentro de un directorio, no en directorios como contenedores de archivos. Si absolutamente tuviera que hacer el trabajo y ftp fuera la única herramienta que pudiera usar, podría improvisar un script expect para manejar ftp por usted.

Afortunadamente, existen alternativas como scp | rsync | wget para obtener directorios completos de archivos.

Comentarios

  • Ok … entonces la conclusión es que puedo ' t descargar una carpeta completa a la vez; Tengo que descargar los archivos individuales, ¿verdad?
  • Sí. Todos ' no mostrarían wget, sftp, scp y rsync si ftp estuviera a la altura.
  • Gracias … ¿SFTP permite la descarga de carpetas?
  • Vaya (lo siento) – no. sftp tiene la misma sintaxis y limitaciones de ftp, solo asegura la conexión usando ssh en lugar de la autenticación de ftp.
  • Si ' está vinculado al protocolo FTP, puede use lftp para realizar una descarga recursiva de un árbol de directorios. Solución de la vieja escuela a este problema.

Respuesta

Otra forma es usar curl

curl ftp://ftp.com/mp3/* --user login:password -o /myfolder/* 

Creo que esto está funcionando, o archivo por archivo

curl ftp://ftp.com/mp3/mymusic.zip --user login:password -o mymusic.zip 

Espero que esto haya ayudado.

Comentarios

  • OK, muchas gracias, pero ¿hay alguna forma vía FTP para hacer esto?
  • ¡Genial! No tenía conocimiento de la proclividad FTP de curl '. ¡Gracias!
  • Sí … yo tampoco. Yo ' probablemente lo usaré con más frecuencia.
  • Yo ' estoy probando tu sugerencia pero obteniendo esto: curl: (78) RETR response: 550
  • curl absolutamente no puedo manejar esto . wget puede.

Responder

Use scp (documentación) o sftp (documentación)

scp -r login@myserverip:/remote/directory/path/ mylocaldirectory 

Comentarios

  • Eso ' no es lo que ' estoy preguntando. Mi pregunta es: ¿Cómo descargo una carpeta a través de FTP en la Terminal? En otras palabras, ¿qué comandos en FTP utilizo para descargar una carpeta?
  • sftp es muy superior a FTP +1
  • @bmike: sí, pero es posible que los servidores ftp más antiguos no admitan sftp.

Respuesta

Tuve que descargar más de 22 «000 imágenes de webcam de mi servidor web, que es un pequeño desafío tanto para el Finder como para mi programa FTP CyberDuck.

Así que hice lo siguiente (según la respuesta de @bmike):

mkdir ~/Desktop/image-dump-myserver ftp ftp://[email protected] # enter password # You"re now in the ftp console (where the world is still okay) # Set the local folder lcd ~/Desktop/image-dump-myserver # cd into the desired folder (`ls`, `pwd` etc. all work here) cd /httpdocs/images # Toggle the interactive mode prompt # Download the desired files (all the images in my case) mget *.jpg 

Luego, los archivos se descargan en la carpeta deseada:

local: image1433509292_1582.jpg remote: image1433509292_1582.jpg 229 Entering Extended Passive Mode (|||50001|) 150 Opening BINARY mode data connection for image1433509292_1582.jpg (63626 bytes) 100% |***********************************| 63626 1.51 MiB/s 00:00 ETA 226 Transfer complete 63626 bytes received in 00:00 (0.98 MiB/s) local: image1427279963_0841.jpg remote: image1427279963_0841.jpg 229 Entering Extended Passive Mode (|||50053|) 150 Opening BINARY mode data connection for image1427279963_0841.jpg (67194 bytes) 100% |***********************************| 67194 1.64 MiB/s 00:00 ETA 226 Transfer complete 67194 bytes received in 00:00 (1.04 MiB/s) local: image1439798493_1783.jpg remote: image1439798493_1783.jpg 229 Entering Extended Passive Mode (|||50357|) 150 Opening BINARY mode data connection for image1439798493_1783.jpg (48876 bytes) 100% |***********************************| 48876 1.80 MiB/s 00:00 ETA 226 Transfer complete 48876 bytes received in 00:00 (996.81 KiB/s) .... 

Respuesta

Estoy usando

wget -r -l 10 --ftp-user="FTP_USER" --ftp-password="FTP_PASSWORD" \ ftp://ftp.server.com/folder_to_download/* 

Lamentablemente wget no admite descargas paralelas.

Responder

siga estas instrucciones:

escriba

ftp 

entonces estás en ftp luciendo como

ftp> 

luego abres la ip del servidor

ftp> open xx.xxx.xxx.xx 

entonces aparecerá un sk para el nombre de usuario, proporcionará

Name:(your ftp server): your_username 

y luego le pedirá la contraseña

Password: your_password 

entonces debe iniciar sesión y ver el shell ftp> nuevamente, puede escribir «ls» para listar todos los archivos y puede navegar como en inix con cd

cuando encuentre su nombre de archivo, puede descargarlo con

ftp> get filename 

et voila, el archivo se descargará al directorio desde el que abrió el shell localmente

no puede descargar Directorys, pero podría navegar en su directorio y descargar varios, por ejemplo, todos los archivos

Tarea: Descargar varios archivos

Debe utilizar el comando mget de la siguiente manera para copiar varios archivos desde el servidor ftp remoto al local sistema. Es posible que se le solicite una respuesta sí / no (S / N) antes de transferir cada archivo (puede deshabilitar el mensaje pasando la opción -i al cliente ftp). Para descargar todos los archivos, ingrese: ftp> mget *

información de http://www.cyberciti.biz/faq/linux-unix-ftp-commands/ cheers

Comentarios

  • La herramienta ftp unix se ha eliminado de OS X (en Sierra, ¿creo?).

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *