LFTP soporta multitud de protocolos tales como: FTP, HTTP, FISH, SFTP, HTTPS y FTPS. Uno de sus puntos fuertes es su fiabilidad, ya que si se interrumpe la conexión cuando se está realizando la transferencia, al reanudar la conexión LFTP podrá seguir dónde lo había dejado. Permite también dejar la transferencia de archivos en segundo plano, y algo interesante es que soporta TLS. Fue desarrollado por Alexander Lukyanov y se distribuye bajo la Licencia Pública General GNU.
Por lo general hay que instalarlo, depende de la distribución usaremos el gestor de paquetes correspondiente, pero por lo general esta en los repositorios.
1- Instalación
sudo apt -y install lftp
2- Uso
lftp 'usuario'@'servidor'
3- Para conectarnos vía FTP desde Linux con lftp y poder especificar un puerto:
lftp -p puerto -u usuario,password ftp://host
4- Una vez conectados, usamos los comandos típicos de UNIX:
- ls, para listar el contenido del directorio actual.
- alias, para crear alias de comandos y parámetros a nuestra medida. Por ejemplo: alias dir ls -la
- cat, para mostrar el contenido de un archivo.
- cd, para movernos entre las carpetas.
- get, un comando muy importante. Nos permite descargar el archivo remoto y guardarlo en local.
- jobs, nos lista la lista de trabajos.
- kill, nos permite «matar» trabajos.
- mget, amplia las funciones de get. Por ejemplo: mget -E, nos permitiría mover un directorios para que después se borrarse del servidor de origen.
- mirror, nos permite obtener una réplica exacta de una carpeta del servidor en nuestra máquina.
- mkdir, permite crear directorios en el servidor remoto.
- put, sube archivos al servidor.
- mv, renombra archivos.
- open, seleccionar para abrir un servidor FTP externo.
- lcd, Cambiar el directorio local actual ldir. El directorio local anterior se almacena como `-‘. Puede hacer `lcd -‘ para volver a cambiar el directorio.
- lpwd, Imprimir el directorio de trabajo actual en la máquina local.
- mput, Para subir todos los archivos de la carpeta local, también mput *
- mget, Para bajar los archivos.
Podemos dejar la transferencia de archivos en segundo plano con la combinación de teclas ^Z y volver con el comando ‘wait‘.
Ejemplos:
1- Para subir archivos con mput, especificando subir todos los archivos tipo txt, dando el nombre de usario y clave, y ajustando el puerto del ftp que en este ejemplo es 2020:
lftp -e 'mput /home/USER1/*.txt;bye' -u USER1,CLAVE_USER1 ftp://host -p 2020
2- Para descargar un archivo de un FTP, llevarla a una carpeta local y eliminar con -E el archivo del FTP, en el puerto 22 con mget-
lftp -u USUARIO,CLAVE -p 22 -e 'mget -E -O /RUTA_LOCAL /RUTA_DEL_FTP/prueba.txt; bye' sftp://host.com






