Sunteți pe pagina 1din 68

1

Lftp: Manual de Uso [español] 
Autor: Antoni Serra Devecchi. [http://www.rpublica.net ]
Fuente: Lukyanov, Alexander V. lftp­man [ http://lftp.yar.ru/lftp­man.html]
Licencia: lftp: manual de uso [español] by antoni serra devecchi is licensed under a Creative 
Commons Reconocimiento­No comercial­Compartir bajo la misma licencia 2.5 España License.
2

Indice
Descripción
Arranque y comandos de ayuda: | version | help | 
Conexión e identificación: | open | user | anon |
Conexiones simultaneas: | scache |
Salir de lftp: | exit |
Comandos shell
Moviéndonos por el host local 
¿En que directorio local estamos? : | lpwd |
Ver el contenido del directorio local: | !ls |
Cambiar de directorio local: | lcd |
Moviéndonos por el servidor remoto:
 ¿Donde estamos conectados? :  |      | pwd
    |
Ver el contenido del directorio remoto: | ls | rels |    cls  | nlist | renlist | find |
Cambiar de directorio remoto: | cd |
Ver el contenido de los archivos remotos: |cat | more | zcat | zmore |
Cambiar los permisos de archivos y/o directorios remotos: | chmod |
 Renombrar archivos y/o directorios remotos:   |    mv  |
Eliminar archivos remotos: |    rm  | mrm |
Crear directorios remotos: |    mkdir  |
 
Eliminar directorios remotos: | rmdir   |  
     | reget |
Bajar archivos: | get | mget | pget
Subir archivos: | put | mput | reput |
Bajar y subir sistemas de directorios: | mirror |
Crear y manejar una guia de sitios: | bookmark |
 Cerrar conexiones inactivas:   | close |
     |kill|wait |
Gestionar tareas: | jobs | exit
 Creando y gestionando colas:   | queue |
 Gestinando la memoria cache:   |    cache  
 Gestionando comandos:   | at | alias |    command  | source | repeat | site |
 Otras acciones:   | sleep | suspend | slot |
 Configurando lftp:   | set |
Variables de entorno de lftp
Archivos de lftp
Apéndice: Descripción de las principales variables de configuración
3

Descripción
[ Volver al Índice ] 
lftp es un progrma de transferencia de archivos, desarrollado por Alexander V Lukyanov , que nos 
permite realizar sofisticadas conexiones de varios tipos ( ftp, http etc.. ) con otros hosts.
lftp puede manejar varios métodos de acceso:  ftp, ftps, http, https, hftp, fish, sftp y file.  Los 
métodos https y ftps solo serán posibles en el caso de haber compilado lftp con las bibliotecas GNU 
TLS u OpenSSL.
El método de conexión deberá especificarse en el comando de conexión  (concretamente,en la URL 
del sitio al que deseemos conectarnos).
Ejemplos:
open http://www.us.kernel.org/pub/ (también : open www.us.kernel.org/pub)
open ftp://ftp.us.kernel.org/pub/ (también : open ftp.us.kernel.org/pub)
Cada operación realizada con lftp puede considerase confiable y segura: cualquier error no fatal 
será ignorado, no impidiendo la ejecución de la operación. Incluso en el caso en que la bajada de un 
archivo se vea interrumpida, esta será automaticamente retomada en el punto en que se quedó en el 
momento de la interrupción. Si el servidor ftp no soportara el comando REST, lftp intentará 
recuperar el archivo desde el principio, hasta que sea completamente transferido.
lftp utiliza una sintaxis semejante a la de los comandos shell, lo que nos permitirá lanzar varos 
comandos en paralelo y en background (&), agrupar cmandos entre ( ) y ejecutarlos en background.
Todas as tareas en background son ejecutadas en un mismo y único proceso. Puede pasarse una 
tarea foreground a background con ^Z ( c­z) y devolverla a foreground con el comando wait ( o con 
su alias: fg ).
Para listar las tareas que se están ejecutando utilizaremos el comando jobs.
Algunos comandos permiten redirigir su output ( cat, ls, more…) hacia un archivo o, via pipe, 
hacia un comando externo.
Los comandos pueden ser ejeutados condicionalmente, basándonos en el resultado de la ejecución 
de comandos previos ( && , || ).
Si se sale de lft mientras algunas tarea aún se están realizando, lftp pasará automaticamente a modo 
nohup en background. Lo mismo ocurrirá en el caso de darse una interrupción en la conexión o de 
cerrar la xterm.
lftp posee un modo “mirror” con el cual puede descargarse o actualizarse un entero sistema de 
directorios. Posee también el denominado “reverse mirror”, mirror ­R , que nos permite subir o 
actualizar un sistema de directorios en el servidor remoto.
mirror también puede sincronizar directorios entre dos servidores remotos, usando FXP.
Existen multitud de comandos ejecutables con lft, como el comando at, que nos permitrá lanzar una 
tarea al cabo de un determinado tiempo, el comando queue, que nos “encolará” comandos para su 
ejecución secuencial, etc, etc.
4

Si preferimos ver el protocolo debug completo, utilizar el comando debug para activarlo. Utilizar el 
comando debug 3 para ver solo los mensajes de saludo y los de error.
lftp tiene un gran número de variables configurables. Ejecutando set ­a podemos ver un listado de 
las configraciones por defecto. Los nombres de las variables pueden abreviarse omitiendo el prefijo, 
salvo que el resto del nombre quede ambiguo y pueda inducir a error.
Si lftp se compiló con OpenSSL ( confgure –with­openssl ), incluirá software desarrollado por 
OpenSSL Project para uso con OpenSL Toolkit. ( htp://www.opensssl.org)
5

Arranque de lftp y comandos de ayuda
[ Volver al Índice ] 
Arrancamos el programa mediante el comando lftp.
ubuntu:~ asd53$ lftp
lftp :~>
Desde el prompt de lftp podemos ejecutar dos comandos informativos:

[ version ]
Nos muestra la versión de lftp que estamos ejecutando
lftp :~> version
LFTP | Version 3.7.3 | Copyright (c) 1996-2008 Alexander V. Lukyanov
LFTP is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
There is absolutely no warranty for LFTP. See COPYING for details.
Send bug reports and questions to <lftp@uniyar.ac.ru>
Libraries used: Readline 5.2, Expat 2.0.1, OpenSSL 0.9.8h 28 May 2008,
libiconv 1.11, zlib 1.2.3

[ help ]
El comando help nos muestra información sobre los comandos de lftp. Podemos invocarlo de de dos 
formas:
help
Nos mostrará una lista de los comandos disponibles:
lftp :~> help
!<shell-command> (commands)
alias [<name> [<value>]] anon
bookmark [SUBCMD] cache [SUBCMD]
cat [-b] <files> cd <rdir>
chmod [OPTS] mode file... close [-a]
[re]cls [opts] [path/][pattern] debug [<level>|off] [-o <file>]
du [options] <dirs> exit [<code>|bg]
..................................................................

help comando
Nos mostrará la ayuda para el comando especificado:
lftp :~> help open
Usage: open [OPTS] <site>
Select a server, URL or bookmark
-e <cmd> execute the command just after selecting
-u <user>[,<pass>] use the user/password for authentication
-p <port> use the port for connection
-s <slot> assign the connection to this slot
<site> host name, URL or bookmark name
6

Conexión a un servidor
[ Volver al Índice ] 
Una vez arrancado lftp, podemos conectarnos a un servidor remoto mediante el comando

[ open ]
open [­e comando] [­u usuario] [­p puerto] url
­e comando
Ejecuta el comando especificado.
­u usuario
Se utilizará esta opción cuando sea necesario especifcar un usario y un password para el acceso al 
servidor remoto.
­p puerto
Se utilizará esta opción cuando se desee especificar el puerto de conexión.
url
URL completa del sitio al que se desee conectar.
Veamos un ejemplo utilizando todas las opciones del comando:
lftp :~> open -e ls -u zeta -p 21 ftp.dzeta.net/web
Password:
cd ok, cwd=/web
drwxrwxr-x 7 3123 80 512 Sep 22 16:55 .
drwsrwsrwt 5 3123 dzeta 512 Sep 20 20:05 ..
drwxrwxrwx 16 3123 80 1024 Sep 21 23:21 Joomla
drwxrwxrwx 5 3123 80 512 Sep 22 12:35 R1
drwxr-xr-x 3 3123 80 512 Sep 22 12:47 R2
drwxr-xr-x 2 3123 80 512 Sep 21 22:06 galeria
drwxr-xr-x 17 3123 80 1024 Sep 23 16:14 joomlae

Hemos pedido que se conecte al servidor ‘ftp.dzeta.net/web’ ,através del puerto ‘21′, y que ejecute 
el comando ls ( listar directorios y archivos). Como el sitio requiere conexión mediante un nombre 
de usuario y password, especificamos el nombre de usuario ( en este caso, ‘zeta’). Una vez 
ejecutada esta linea de comando, el sistema nos solicita el password. Una vez introducdo este, se 
realiza la conexión y se ejecta el comando especificado en ­e (ls).
Como puede suponerse, no es preciso utilizar de todas las opciones del comando open:
lftp :~> open ­u zeta ftp.dzeta.net/web
Password:
cd ok, cwd=/web
lftp zeta@ftp.dzeta.net:/web>
El prompt de lftp nos indica que estamos conectados, como usuario ‘zeta’, al servidor ‘ftp.dzeta.net/
web’
7

Desde este prompt podemos ya ejecutar los comandos que deseemos, por ejemplo, listar los 
archivos y directorios del sitio remoto.
lftp zeta@ftp.dzeta.net:/web>ls
drwxrwxr­x 7 3123 80 512 Sep 22 16:55 .
drwsrwsrwt 5 3123 dzeta 512 Sep 20 20:05 ..
drwxrwxrwx 16 3123 80 1024 Sep 21 23:21 Joomla
drwxrwxrwx 5 3123 80 512 Sep 22 12:35 R1
drwxr­xr­x 3 3123 80 512 Sep 22 12:47 R2
drwxr­xr­x 2 3123 80 512 Sep 21 22:06 galeria
drwxr­xr­x 17 3123 80 1024 Sep 23 16:14 joomlae
Ahora imaginemos que intentamos conectarnos a un sitio que precisa usuario y password, sin la 
opción ­u
lftp :~> open ftp.dzeta.net
lftp ftp.dzeta.net:~>

Podemos ver que se conecta al sitio. Pero veamos que ocurre si intentamos ejecutar cualquier acción 
, por ejemplo listar los directorios y archivos del sitio con el comando ls:
lftp ftp.dzeta.net:~> ls
ls: Login failed: 530 Por favor, dime quien eres

Vemos que no nos deja “pasar de la puerta” del sitio sin identificarnos.
Lo mismo ocurriria si intentáramos conectarnos directamente a uno de los directorios del sitio:
lftp :~> open ftp.dzeta.net/web
cd: Login failed: 530 Por favor, dime quien eres
lftp ftp.dzeta.net:~>

Vemos que nos conecta, pero podemos ver ,por el prompt, que nos deja a la entrada del sitio ( 
‘ftp.dzta.net’) impidiéndonos acceder al directorio que habiamos solicitado (‘/web’)
El comando user nos permitira salvar este “descuido”……… siempre que tegamos un nombre de 
usuario y un password válidos

[ user ]
user usuario
lftp ftp.dzeta.net:~> user zeta
Password:
lftp ftp.dzeta.net:~>

Una vez identificados correctamente vemos como en el prompt aparece en nombre del usuario 
(‘zeta’) ya tenemos libertad para movernos por el sitio y ejecutar los comandos.
lftp zeta@ftp.dzeta.net:~> ls
drwsrwsrwt 5 3123 dzeta 512 Sep 20 20:05 .
drwsrwsrwt 5 3123 dzeta 512 Sep 20 20:05 ..
-rw------- 1 3123 dzeta 14 Sep 22 17:27 .ftpquota
drwxr-xr-x 2 0 dzeta 512 Mar 22 2007 logs
drwxrwxr-x 2 80 dzeta 7168 Sep 23 16:12 tmp
drwxrwxr-x 7 3123 80 512 Sep 22 16:55 web
8

Otra forma de conectarnos a un servidor es desde el mismo momento arranque de lftp :
lftp ­e comando ­u usuario ­p puerto url
ubuntu:~ asd53$ lftp -u dzeta -p 21 ftp.dzeta.net
Password:
lftp zeta@ftp.dzeta.net:~>

Se puede aplicar todo lo dicho anteriormente a esta forma “abreviada” de conexión.

[ anon ]
Cuando conectamos a un sitio sin especificar el nombre de usuario, lftp, por defecto, realiza una 
conexión anónima ( nombre de usuario: anonymous).
Cuando hemos entrado en un sitio especificando nombre de usuario y password y, por la razon que 
fuera, deseemos pasar a anónimos, podemos hacerlo utilizando el comando  anon:
lftp zeta@ftp.dzeta.net:~> anon
lftp ftp.dzeta.net:~>

Vemos, por el prompt, que de estar conectados como ‘zeta’ pasamos a estar conectados 
anonimamente….. perdiendo los privilegios que pudieramos tener como usuario ‘zeta’
9

Conexiones simultaneas
[ Volver al Índice ] 
Hasta ahora hemos estado operando con una sola conexión. lftp puede mantaner activas varias 
conexiones ( sesiones) al mismo tiempo.
Abramos tres sesiones, una al sitio ‘ftp.dzeta.net’ , otra al sitio ‘ftp.rpublica.net’ y la tercera al sitio 
‘ftp.zonaoscura.net’ .
lftp :~> open -u zeta ftp.dzeta.net
Password:
lftp zeta@ftp.dzeta.net:~>
lftp zeta@ftp.dzeta.net:~> open -u beta ftp.rpublica.net
Password:
lftp beta@ftp.rpublica.net:~>

lftp beta@ftp.rpublica.net:~> open -u delta ftp.zonaoscura.net


Password:
lftp delta@ftp.zonaoscura.net:~>

Listar las sesiones y cambiar entre sesiones: scache
[ Volver al Índice ] 

[ scache ]
scache [sesión]
El comando scache nos permite obtener un listado de las sesiones abiertas y pasar de una sesion a 
otra.
Listar las sesiones abiertas: scache
lftp delta@ftp.zonaoscura.net:~> scache
0 ftp://zeta@ftp.dzeta.net
1 ftp://beta@ftp.rpublica.net

Nos relaciona las sesiones abiertas identificándolas con un número ( 0, 1, 2, 3….).
Pasar de una sesión a otra: scache sesión
lftp delta@ftp.zonaoscura.net:~> scache 1
lftp beta@ftp.rpublica.net:~>

Hemos pasado de la sesión ‘ftp.zonaoscura.net’ a la ‘ftp.rpublica.net’ indicando a scache el número 
de la sesión a la que queremos desplazarnos.

Si ahora ejecutamos de nuevo scache veremos que el sitio ( número) que ocupaba ‘ftp.rpublica.net’ 
lo ocupa ahora ‘ftp.zonaoscura.net’ .
lftp beta@ftp.rpublica.net:~> scache

0 ftp://zeta@ftp.dzeta.net
1 ftp://delta@ftp.zonaoscura.net
10

Salir de lftp
[ Volver al Índice ] 

[ exit ]
exit [bg][kill]
Con el comando exit salimos de lftp o, si hay tareas ejecutándose, pasa a bakcground.
exit bg
fuerza el paso a background cuando el valor de la variable cmd:move­background es falso.
exit kill
elimina las tareas enumeradas antes de salir. ( Ver también comando kill )
lftp zeta@ftp.dzeta.net:~> exit
ubuntu:~ asd53$

Comandos shell
[ Volver al Índice ] 
Es el momento de comentar que la mayoria de comandos shell pueden ser ejecutados ,desde lftp, en 
el servidor local, precediéndolos del signo !
lftp dzeta@ftp.dzeta.net:/web> !mkdir -v PRUEBA
mkdir: created directory 'PRUEBA'

Hemos creado el drectorio ‘PRUEBA’ en el directorio local en uso.
lftp dzeta@ftp.dzeta.net:/web> !rmdir PRUEBA

Hemos eliminado el directorio vacio ‘PRUEBA’ del directorio local en uso.

Moviéndonos por el host local
[ Volver al Índice ] 
Conectados a un servidor, vamos a utilizar toda una serie de comandos que nos permiten obtener 
información de la conexión, de los archivos del host local y del servidor remoto y a movernos por 
ellos.
Como se ha comentado antes, desde lftp podemos ejecutar muchos de los comandos shell 
precediéndolos del signo !
11

¿En qué directorio local nos encontramos?: lpwd
[ Volver al Índice ] 

[ lpwd ]
lpwd
Nos informa del directorio local  (directorio de trabajo en la máquina local) en el que nos 
encontramos.
(A partir de este momento lo denominaremos directorio local en uso)
lftp zeta@ftp.dzeta.net:~> lpwd
/Users/asd53

El comando shell que realizaria la función de lpwd seria !pwd. Ejecutando !pwd obtendremos el 
mismo resultado que con lpwd 
lftp zeta@ftp.dzeta.net:~> !pwd
/Users/asd53

Ver el contenido del directorio local: !ls
[ Volver al Índice ] 

[ !ls ]
El comando shell ls (con sus múltiples opciones) nos lista los archivos de un directorio. En lftp 
podemos utilizar este comando, precedido por ! para ver el contenido del directorio local en uso.
lftp zeta@ftp.dzeta.net:~> !ls -l
total 24840
-rw-r--r-- 1 asd53 asd53 1266 15 ene 2008 1.gif
-rw-r--r-- 1 asd53 asd53 26780 5 feb 2008 AG.PDF
-rw-r--r--@ 1 asd53 asd53 53824 5 feb 2008 AG.ods
-rw-r--r-- 1 asd53 asd53 1149869 4 oct 2007 Aprendiendo.pdf
drwxr-xr-x 5 asd53 asd53 170 14 dic 2007 Blogs
drwxr-xr-x 7 asd53 asd53 238 15 jun 19:31 CMS
-rw-r--r--@ 1 asd53 asd53 40858 18 mar 2008 Claus.ods
drwxr-xr-x 55 asd53 asd53 1870 23 sep 11:24 Descargas
drwx------+ 23 asd53 asd53 782 18 sep 23:38 Desktop
drwx------+ 35 asd53 asd53 1190 24 sep 18:30 Documents
drwx------+ 4 asd53 asd53 136 27 oct 2007 Downloads
............................................................
............................................................
12

Cambiar de directorio local: lcd
[ Volver al Índice ] 

[ lcd ]
lcd dirl
Con el comando lcd pasamos del directorio local en uso al especificado en la linea de comandos 
(dirl)
lftp zeta@ftp.dzeta.net:~> lcd Documents
lcd ok, local cwd=/Users/asd53/Documents
lftp zeta@ftp.dzeta.net:~> lpwd
/Users/asd53/Documents

El antiguo directorio es almacenado como ­ . Asi, si se desea volver a el bastará ejecutar lcd ­
lftp zeta@ftp.dzeta.net:~> lcd -
lcd ok, local cwd=/Users/asd53

Moviéndonos por el servidor remoto
[ Volver al Índice ] 

¿Donde estamos conectados? ¿Cual es el directorio remoto en uso? : pwd

[ pwd ]
pwd [­p]
El comando pwd nos informa de la URL a la que estamos conectados y cual es el directorio remoto 
en uso:
lftp zeta@ftp.dzeta.net:~> pwd
ftp://zeta@ftp.dzeta.net

Si utilizamos el comando con la opción ­p nos mostrará el password con el que hemos accedido.
lftp zeta@ftp.dzeta.net:~> pwd -p
ftp://zeta:rt0025zj@ftp.dzeta.net

Podemos ver que, además del nombre de usuario (‘zeta’) con el que hemos conectado, nos informa 
del password utilizado (’rt0025zj’).
13

Ver el contenido del directorio remoto: ls, rels, cls, nlist, renlist, find.
[ Volver al Índice ] 

[ ls ]
ls
El comando ls nos muestra una lista de los archivos del directorio remoto especificado. Por defecto 
nos lista el contenido del directorio remoto en uso.
La salida de este comando puede ser redirigida a un archivo o , via pipe, a un comando externo. Por 
defecto, la salida es colocada en cache.
ftp zeta@ftp.dzeta.net:~> ls

drwsrwsrwt 5 3123 dzeta 512 Sep 20 20:05 .


drwsrwsrwt 5 3123 dzeta 512 Sep 20 20:05 ..
-rw------- 1 3123 dzeta 14 Sep 22 17:27 .ftpquota
drwxr-xr-x 2 0 dzeta 512 Mar 22 2007 logs
drwxrwxr-x 2 80 dzeta 7168 Sep 23 16:12 tmp
drwxrwxr-x 7 3123 80 512 Sep 22 16:55 web

Ahora, vamos a ver como listar el contenido de uno de los directorios remotos, p.e. del web:
ftp zeta@ftp.dzeta.net:/> ls web
drwxrwxr-x 7 3123 80 512 Sep 22 16:55 .
drwsrwsrwt 5 3123 dzeta 512 Sep 20 20:05 ..

drwxrwxrwx 16 3123 80 1024 Sep 21 23:21 Joomla


drwxrwxrwx 5 3123 80 512 Sep 22 12:35 R1
drwxr-xr-x 3 3123 80 512 Sep 22 12:47 R2
drwxr-xr-x 2 3123 80 512 Sep 21 22:06 galeria
drwxr-xr-x 17 3123 80 1024 Sep 23 16:14 joomlae

En lugar de ver el resultado por pantalla, podemos redirigirlo a un archivo de texto ( en este caso, 
‘listado.txt’), que guardará en el directorio local.
lftp zeta@ftp.dzeta.net:/> ls > listado.txt

[ rels ]
rels
Como ls, pero ignorando el cache.

[ cls ]
cls [opciones] achivos….
El comando cls nos proporciona información sobre archivos específicos o directorios y nos la 
muestra de acuerdo con el formato que hayamos especificado mediante las opciones. La diferencia 
entre ls y cls es que el formato con el que nos muestra la información ls es el formato proporcionado 
14

por el servidor. Con cls podemos determinar el formato mediante las opciones. Como con ls, la 
salida de cls puede ser también redirigida. Por defecto, es almacenada en cache.

opciones:
­1
la información se muestra en una sola columna
­B  –basename
nos muestra solo el nombre básico del archivo
–block­size=SIZ
usa bloques de SIZ­bytes (SIZ debe ser un número)
­d, –directory
lista las entradas de directorio en vez del contenido
­F, –classify
añade un indicador a las entradas
­h, –human­readable
nos muestra los tamaños en un formato “legible” ( p.e: 1K)
­k, –kilobytes
como –block­size=1024
­l, –long
utiliza un listado de formato largo
­q, –quiet
no muestra el status
­s, –size
muestra el tamaño de cada archivo
–filesize 
si muestra el tamaño, lo muestra solo por archivos
­i, –nocase
no sensible a caja
­I, –sortnocase
ordena los nombres sin tener en cuenta la caja
­D, –dirsfirst
lista primero los directorios
–sort=OPT
ordena segun valor de OPT: “name”, “size”, “date”
­S
ordena según tamaño de archivo
–user, –group, –perms, –date, –linkcount, –links
muestra campos individuales ( los especificados)
–time­style=STYLE
usa el formato de tiempo especificado en STYLE
15

Veamos unos ejemplos:
lftp zeta@ftp.dzeta.net:/web> cls -B -h -1 Joomla

CHANGELOG.php

COPYRIGHT.php

CREDITS.php

INSTALL.php

LICENSE.php

LICENSES.php

administrator/

cache/

components/

configuration.php

configuration.php-dist

htaccess.txt

images/

includes/

index.php

index2.php

language/

..........
.........

lftp zeta@ftp.dzeta.net:/web> cls --user --group Joomla


80 zeta Joomla/CHANGELOG.php
80 zeta Joomla/COPYRIGHT.php
80 zeta Joomla/administrator/
80 zeta Joomla/cache/
.....................................
.....................................
16

[ nlist ]
nlist
Lista los nombres de los archivos remotos.
lftp zeta@ftp.dzeta.net:/web> nlist
.
..
DirectorioA
DirectorioB
Joomla
R1
R2
galeria
joomlae
textos

[ renlist ]
renlist
Como nlist, pero ignora el cache

[ find ]
find [­d] archivos
Lista los archivos del directorio remoto especificado ( por defecto, el directorio en uso) de forma 
recursiva.
La salida de este comando puede redirigirse. Es útil en servidores que no dan soporte ls ­R.
opciones:
­d, –maxdepth=NIVEL
desciende al nivel de directorios especificado en NIVEL
lftp zeta@ftp.dzeta.net:/web> find -d 3 Joomla
Joomla/includes/gacl.class.php
Joomla/includes/gacl_api.class.php
Joomla/includes/index.html
Joomla/includes/joomla.php
Joomla/includes/js/
Joomla/includes/mambo.php
Joomla/includes/mamboxml.php

Cambiar de directorio remoto: cd

[ cd ]
cd dirr
Con el comando cd pasamos del directorio remoto en uso al especificado en la linea de comandos 
(dirr)
17

lftp zeta@ftp.dzeta.net:/> cd web


lftp zeta@ftp.dzeta.net:/web>

El antiguo directorio es almacenado como ­ . Asi, si se desea volver a el bastará ejecutar cd ­
ftp zeta@ftp.dzeta.net:/web> cd -
lftp dzeta@ftp.dzeta.net:/>

Ver el contenido de los archivos remotos: cat, more, zcat, zmore.
[ Volver al Índice ] 

[ cat ]
cat [­b] archivos
Mediante cat podemos ver en pantalla el contenido de los archivos especificados.
Con la opción ­b la operación se realizará en modo binario ( Por defecto, se realiza en modo ascii)
Vamos a desplazarnos al directorio remoto ‘web/documents’, ver que archivos contiene (ls) y 
mostrar el contenido de uno de ellos:
lftp zeta@ftp.dzeta.net:/> cd web/documents

lftp zeta@ftp.dzeta.net:/web/documents> ls

drwxr-xr-x 2 3123 80 512 Sep 25 14:27 .

drwxrwxr-x 8 3123 80 512 Sep 25 13:46 ..

-rw-r--r-- 1 3123 80 101 Sep 25 13:27 texto0.txt

-rw-r--r-- 1 3123 80 1153 Sep 25 12:49 texto1.txt

-rw-r--r-- 1 3123 80 1149 Sep 25 13:16 texto1.txt.zip

-rw-r--r-- 1 3123 80 1672 Sep 25 13:14 texto2.txt

-rw-r--r-- 1 3123 80 1355 Sep 25 13:16 texto2.txt.zip

lftp zeta@ftp.dzeta.net:/web/documents> cat texto0.txt


Este es el contenido del archivo 'texto0.txt', utilizado para mostrar el
funcionamiento del comando cat

101 bytes transferred


lftp zeta@ftp.dzeta.net:/web/documents>

La salida puede ser redirigida, por ejemplo a un archivo de texto (‘redireccion0.txt’) que se 
guardará, si no se especifica otro, en el directorio local en uso:
lftp zeta@ftp.dzeta.net:/web/documents> cat texto0.txt > redireccion0.txt
101 bytes transferred
18

Podemos comprobar que el proceso se ha ejecutado correctamente verificando la existencia del 
nuevo archivo en el directorio local en uso, mediante el comando !ls :
lftp dzeta@ftp.dzeta.net:/web/documents> !ls
emacs.html
gettext.php
imatges
.................
.................
listado.txt
llibres
redireccion0.txt
rubydev

El comando cat puede aplicarse sobre varios archivos. Sus contenidos serán mostrados en la 
pantalla uno a continuación del otro.
cat archivo1 archivo2 archivo3 ….

[ more ]
more archivos
Como cat, con la salvedad que con more podemos ver el archivo página a página ( muy útil en 
archivos largos).

[ zcat ]
zcat
Como cat , pero aplicable a archivos comprimidos (gzip).

[ zmore ]
Como more , pero aplicable a archivos comprimidos (gzip).

Cambiar los permisos de directorios y archivos remotos: chmod

[ Volver al Índice ] 

[ chmod ]
chmod [OPCIONES] MODO archivo/s
Con chmod podemos cambiar los permisos de uno varios archivos remotos. Los nuevos permisos 
(MODO) deben expresarse en modo octal.
19

opciones:
­v, –verbose
modo “verboso”: muestra un diagnóstico para cada archivo procesado.
­c, –changes
como verbose, pero nos muestra la información solo cuando he tenido lugar el cambio.
­f , –quiet
suspende la mayoria de los mensajes de error.
­R , –recursive
cambia archivos y directorios de forma recursiva.
Veamos unos ejemplos:
lftp zeta@ftp.dzeta.net:/web/documents> ls
drwxr-xr-x 2 3123 80 512 Sep 25 14:27 .
drwxrwxr-x 8 3123 80 512 Sep 25 13:46 ..
-rw-r--r-- 1 3123 80 101 Sep 25 13:27 texto0.txt
-rw-r--r-- 1 3123 80 1153 Sep 25 12:49 texto1.txt
-rw-r--r-- 1 3123 80 1149 Sep 25 13:16 texto1.txt.zip
-rw-r--r-- 1 3123 80 1672 Sep 25 13:14 texto2.txt
-rw-r--r-- 1 3123 80 1355 Sep 25 13:16 texto2.txt.zip

Cambiamos a 777 (rwxrwxrwx) lo permisos de ‘texto1.txt’ y  ‘texto2.txt’ .
lftp zeta@ftp.dzeta.net:/web/documents> chmod 777 -v texto0.txt texto1.txt
Mode of `texto0.txt' changed to 0777 (rwxrwxrwx).
Mode of `texto1.txt' changed to 0777 (rwxrwxrwx).

Ahora vamos a cambiar los permisos del directorio ‘/documents’ y de todos sus archivos a 666 (rw­
rw­rw­) utlizando la opción ­R. Antes debemos desplazarnos al directorio que contiene documents, 
esto es , al directorio ‘ /web’ :
lftp zeta@ftp.dzeta.net:/web/documents> cd -
lftp zeta@ftp.dzeta.net:/web> chmod -v -R 666 documents
Mode of `documents' changed to 0666 (rw-rw-rw-).
Mode of `texto0.txt' changed to 0666 (rw-rw-rw-).
Mode of `texto1.txt' changed to 0666 (rw-rw-rw-).
Mode of `texto1.txt.zip' changed to 0666 (rw-rw-rw-).
Mode of `texto2.txt' changed to 0666 (rw-rw-rw-).
Mode of `texto2.txt.zip' changed to 0666 (rw-rw-rw-).

Si solo deseáramos cambiar los permisos del directorio, manteniendo los de sus archivos 
inalterados, deberiamos haber utilizado la anterior linea de comandos, sin la opción ­R .

Renombrar archivos y directorios remotos: mv
[ Volver al Índice ] 

[ mv ]
mv archivo1 archivo2
Con mv se cambia el nombre del archivo1 por el de archivo2
20

lftp zeta@ftp.dzeta.net:/web/documents> mv texto0.txt documento0.txt


rename successful
Hemos cambiado el nombre a ‘texto0.txt’ por el de  ‘documento0.txt’ .
lftp zeta@ftp.dzeta.net:/web/documents> cd -
lftp zeta@ftp.dzeta.net:/web> mv documents documentos
rename successful

Hemos cambiado el nombre del directorio ‘/documents’ por el de  ‘/documentos’

Eliminar archivos remotos: rm, mrm
[ Volver al Índice ] 

[ rm ]
rm [­r] [­f] archivos
Elimina archivos remotos. Este comando no soporta a utilización de caracteres comodín 
(wildcards), para ello utilizaremos mrm.
lftp zeta@ftp.dzeta.net:/web/documentos> rm documento0.txt texto1.txt
rm ok, 2 files removed

­r
con esta opción eliminamos en modo recursivo todo un directorio. ( ¡Debe utilizarse com mucha 
precaución!)
­f
suprime los mensajes de error.
lftp zeta@ftp.dzeta.net:/web/documentos> cd -
lftp zeta@ftp.dzeta.net:/web> rm -r documentos

Con la opción ­r hemos eliminado el directorio  ‘documetos’ junto con todo su contenido.

[ mrm ]
Opera del mismo modo que rm, pero mrm admite la utilización de caracteres comodín 
( wildcards).
Veamos un ejemlo en el que se eliminan del directorio ‘/textos’ todos los archivos que empiezan por 
‘ducu’, utilizando el comodín ‘ * ‘:
lftp zeta@ftp.dzeta.net:/web/textos> ls
drwxr-xr-x 2 3123 80 512 Sep 26 12:01 .
drwxrwxr-x 8 3123 80 512 Sep 26 11:55 ..
-rw-r--r-- 1 3123 80 1672 Sep 25 13:14 documento1
-rw-r--r-- 1 3123 80 1672 Sep 25 13:14 documento2
-rw-r--r-- 1 3123 80 101 Sep 25 13:27 texto0.txt
-rw-r--r-- 1 3123 80 1153 Sep 25 12:49 texto1.txt
-rw-r--r-- 1 3123 80 1672 Sep 25 13:14 texto2.txt
-rw-r--r-- 1 3123 80 101 Sep 25 13:27 texto3.txt
21

lftp zeta@ftp.dzeta.net:/web/textos> mrm docu*


rm ok, 2 files removed

lftp zeta@ftp.dzeta.net:/web/textos> ls
drwxr-xr-x 2 3123 80 512 Sep 26 12:02 .
drwxrwxr-x 8 3123 80 512 Sep 26 11:55 ..
-rw-r--r-- 1 3123 80 101 Sep 25 13:27 texto0.txt
-rw-r--r-- 1 3123 80 1153 Sep 25 12:49 texto1.txt
-rw-r--r-- 1 3123 80 1672 Sep 25 13:14 texto2.txt
-rw-r--r-- 1 3123 80 101 Sep 25 13:27 texto3.txt
lftp zeta@ftp.dzeta.net:/web/textos>

Crear directorios remotos: mkdir
[ Volver al Índice ] 

[ mkdir ]
mkdir [­p] directorio(s)
Si utilizamos la opción ­p se crearán todos los niveles del path.
Vamos a crear los directorios ‘resumenes’ y  ‘boradores’ en el interior del directorio ‘textos’ :
lftp zeta@ftp.dzeta.net:/web/textos> mkdir resumenes borradores
mkdir ok, 2 directories created

lftp zeta@ftp.dzeta.net:/web/textos> ls
drwxr-xr-x 4 3123 80 512 Sep 26 12:16 .
drwxrwxr-x 8 3123 80 512 Sep 26 11:55 ..
drwxr-xr-x 2 3123 80 512 Sep 26 12:16 borradores
drwxr-xr-x 2 3123 80 512 Sep 26 12:16 resumenes
-rw-r--r-- 1 3123 80 101 Sep 25 13:27 texto0.txt
-rw-r--r-- 1 3123 80 1153 Sep 25 12:49 texto1.txt
-rw-r--r-- 1 3123 80 1672 Sep 25 13:14 texto2.txt
-rw-r--r-- 1 3123 80 101 Sep 25 13:27 texto3.txt

Eliminar directorios remotos:rmdir
[ Volver al Índice ] 

[ rmdir ]
rmdir directorio(s)
Con rmdir eliminamos los directorios remotos vacios especificados en la linea de comandos.
Como hemos visto anteriormente, si se desea eliminar un directorio no vacio, deberemos utilizar el 
comando rm ­r
Vamos a elimiar el directorio  ‘resumenes‘  ( es un directorio vacio)
lftp zeta@ftp.dzeta.net:/web/textos> rmdir resumenes
rmdir ok, `resumenes' removed
lftp zeta@ftp.dzeta.net:/web/textos> ls
drwxr-xr-x 3 3123 80 512 Sep 26 12:24 .
22

drwxrwxr-x 8 3123 80 512 Sep 26 11:55 ..


drwxr-xr-x 2 3123 80 512 Sep 26 12:16 borradores
-rw-r--r-- 1 3123 80 101 Sep 25 13:27 texto0.txt
-rw-r--r-- 1 3123 80 1153 Sep 25 12:49 texto1.txt
-rw-r--r-- 1 3123 80 1672 Sep 25 13:14 texto2.txt
-rw-r--r-- 1 3123 80 101 Sep 25 13:27 texto3.txt

Veamos lo que ocurre cuando intentamos eliminar un directorio no vacio, por ejemplo, el directorio 
‘textos’, con el comando rmdir:
lftp zeta@ftp.dzeta.net:/web/textos> cd -
lftp zeta@ftp.dzeta.net:/web> rmdir textos
rmdir: Access failed: 550 No puedo borrar el directorio: Directory not empty
(textos)
lftp zeta@ftp.dzeta.net:/web>

Como podemos observar, se nos avisa de la imposibilidad de eliminar el directorio ‘textos’ por no 
hallarse vacio. Deberia haberse utilizado el comando rm ­r

Bajar archivos: get, mget, pget, reget.
[ Volver al Índice ] 

[ get ]
get [­E] [­a] [­c] [­O base] fremoto [­o flocal] ….
opciones:
­E
borra los archivos fuente tras ser transferidos con éxito. (¡Usar con precaución!)
­a
usar en modo ascii ( por defecto se utiliza el modo binario)
­c
continua, reget
­O base
especifica el directorio local o de la URL (base) donde guardar el archivo bajado.Si se omite esta 
opción, el archivo bajado se guardará en el directorio local en uso.
­o flocal 
especifica el nombre (flocal) con que se guardará el archivo bajado en el directorio local. Si no se 
especifica esta opción el archivo bajado se guardará en el directorio local con el mismo nombre que 
tenia en el directorio remoto.
No pueden utilizarse caracteres comodín; para ello, utilizar el comando mget
El comando get permite la bajada simultanea de varios archivos:
get [­E] [­a] [­c] [­O base] fremoto­1 [­o flocal­1] fremoto­2 [­o flocal­2] fremoto­3 [­o flocal­3] 
………..
23
La linea de comandos debe componerse procurando respetar un cierto orden en las opciones, ya que 
las opciones ­E, ­O, ­a y ­c se aplicarán a todos los archivos que se estén bajando, por lo que deben 
ir antes de especificar el nombre de los archivos remotos.En cambio la opción ­o se aplicara a cada 
uno de los archivos remotos, por lo que deberá especificarse para cada uno de ellos.

Veamos unos ejemplos:
lftp zeta@ftp.dzeta.net:/web/textos> get texto0.txt
101 bytes transferred in 2 seconds (56b/s)

El archivo ‘texto0.txt’ se guardará en el archivo local en uso (no se ha usado la opción ­O) 
manteniendo el nombre de ‘texto0.txt’ ( no se ha usado la opción ­o ).
lftp zeta@ftp.dzeta.net:/web/textos> get -O /home/Internet/Descargas/ -E
texto0.txt -o textoW
101 bytes transferred in 3 seconds (32b/s)

El archivo ‘texto0.txt’ se guardará en el directorio ‘Descargas/’ ( ¡es importante la / !) del directorio 
local ( ‘/home/Internet/ ‘ ) con el nonbre de ‘textoW’ ( ­o textoW) y una vez transferido, el archivo 
fuente ( ‘texto0.txt’ ) será eliminado del del directrio remoto ( ­E ).
Si ‘ /home/Internet/ ‘ fuera el directorio local en uso, obtendriamos el mismo resultado 
especificando ‘Descargas/’ o ‘~/Descargas’ , en lugar de la ruta completa, ya que ‘Descargas’ es un 
subdirectorio del directorio local en uso.
lftp zeta@ftp.dzeta.net:/web/textos> get -O
ftp://beta:rt0045zz@ftp.rpublica.net/web/ -E texto1.txt -o textoZ

En este ejemplo hemos utilizado las mismas opciones que en anterior ejemplo, pero aquí el archivo 
remoto ‘texto1.txt ‘ se transferiria al directorio ‘web/ ‘ del sitio ‘ftp.rpublica.net‘ ( nótese como se 
especifican el nombre de usuario y el password en la URL del sitio: 
‘ftp://usuario:password@ftp.rpublica.net‘ )
Como se ha comentado mas arriba, el comando get permite la bajada simultanea de varios archivos:
lftp zeta@ftp.dzeta.net:/web/textos> get texto2.txt -o textoDos texto3.txt -o
textoTres

1773 bytes transferred in 4 seconds (419b/s)

Se bajarian al directorio local en uso los archivos remotos ‘texto2.txt’ y ‘texto3.txt’ , guardándose el 
primero como ‘textoDos’ y el segundo como ‘textoTres’.
ftp zeta@ftp.dzeta.net:/web/textos> get -O /home/Internet/Descargas/ texto2.txt
-o textoDos texto3.txt -o textoTres

1773 bytes transferred in 2 seconds (1.0K/s)


Total 2 files transferred

En este caso los archivos transferidos se ubicarian en el directorio local ‘Descargas/’
24

[ mget ]
mget [­E] [­a] [­c] [­O base] fremoto(s)
Utilizaremos mget cuando en una transferencia queramos utilizar caracteres comodin (wildcards).
Tiene las mismas opciones que get, excepto la opción ­o
lftp zeta@ftp.dzeta.net:/web/textos> mget -O /home/Internet/Descargas/ text*

1773 bytes transferred in 4 seconds (437b/s)

Total 2 files transferred

Transfiere los archivos remotos que comiezan por ‘text’ al directorio local 
‘/home/Internet/Descargas/’

[ pget ]
pget [­c] [­n maxcom] [­O base] fremoto [­o flocal]
Transfiere el archivo remoto (fremoto) especificado usando varias conexiones. Esto puede acelerar 
la descarga, pero sobrecarga la red y el servidor, pudiendo causar perjuicios a otros suarios.
opciones:
­c
continua la transferencia. requiere el archivo lfile.lftp­pget­status.
­n maxcom
especifica el número máximo de conexiones (maxcom). Si no se especifica, se utilizará el valor 
definido en la variable de configuración pget:dfault­n.
­O
especifica el directorio local o de la URL (base) donde guardar el archivo bajado.Si se omite esta 
opción, el archivo bajado se guardará en el directorio local en uso.

[ reget ]
reget [­E] [­a] [­O base] fremoto [­o flocal]
Como get ­c
25

Subir archivos al servidor remoto : put mput reput
[ Volver al Índice ] 

[ put ]
put [­E] [­a] [­c] [­O base] flocal [­o fremoto]
put es un comando de que realiza las mismas funciones que get, pero en sentido contrario: sube 
archivos desde el directorio local en uso al directorio remoto. Las opciones son las mismas que en 
get.
No pueden utilizarse caracteres comodín; para ello, utilizar el comando mput.
opciones:
­E borra los archivos fuente tras ser transferidos con éxito.(¡Usar con precaución!)
­a usar en modo ascii ( por defecto se utiliza el modo binario)
­c continua, reget
­O base especifica el directorio remoto o de la URL (base) donde guardar el archivo subido.Si se 
omite esta opción, el archivo subido se guardará en el directorio remoto en uso.
­o archremoto especifica el nombre (archremoto) con que se guardará el archivo subido en el 
directorio remoto. Si no se especifica esta opción el archivo subido se guardará en el directorio 
remoto con el mismo nombre que tenia en el directorio local.
El comando put permite la subida simultanea de varios archivos:
put [­E] [­a] [­c] [­O base] flocal­1 [­o fremoto­1] flocal­2 [­o fremoto­2] flocal­3 [­o fremoto­3] 
………..
La linea de comandos debe componerse procurando respetar un cierto orden en las opciones, ya que 
las opciones ­E, ­O, ­a y ­c se aplicarán a todos los archivos que se estén subiendo, por lo que deben 
ir antes de especificar el nombre de los archivos locales. En cambio la opción ­o se aplicara a cada 
uno de los archivos locales, por lo que deberá especificarse para cada uno de ellos.
Veamos unos ejemplos:
lftp zeta@ftp.dzeta.net:/web/textos> put documento1 documento2
21312 bytes transferred in 6 seconds (3.4K/s)
Total 2 files transferred

Los archivos locales ‘documento1′ y  ‘documento2′ se subirán al directorio remoto en uso ( 
‘/web/textos’) , manteniendo el nombre.
ftp zeta@ftp.dzeta.net:/web/textos> put -O borradores/ documento1 -o borrador1
documento2 -o borrador2
21312 bytes transferred in 8 seconds (2.8K/s)
Total 2 files transferred
26

Los archivos locales ‘documento1′ y ‘documento2′ se subirán al directorio remoto ‘borradores/’ 
(subdirectorio del directorio remoto en uso), guardándose como ‘borrador1′ y  ‘borrador2′ , 
respectivamente.
lftp zeta@ftp.dzeta.net:/web/textos> put -O
ftp://delta:d53v105@ftp.zonaoscura.net/web/ documento1 -o borrador1 documento2 -
o borrador2
21312 bytes transferred in 8 seconds (2.7K/s)
Total 2 files transferred

En este último ejemplo, los archivos locales  ‘documento1‘  y  ‘documento2′ serán transferidos al 
directorio remoto  ‘web/’ del sitio  ‘ftp.zonaoscura.net’ y guardados en el con los nombres 
‘borrador1′ y ‘borrador2′ , respectivamente.

[ mput ]
mput [­E] [­a] [­c] [­O base] flocal(s)
Utilizaremos mput cuando en una transferencia queramos utilizar caracteres comodin (wildcards).
Tiene las mismas opciones que put, excepto la opción ­o.
lftp zeta@ftp.dzeta.net:/web/textos> mput -O
ftp://delta:d53v105@ftp.zonaoscura.net/web/ doc*
22179 bytes transferred in 11 seconds (2.0K/s)
Total 4 files transferred

Se transferirán los archivos locales cuyo nombre comience por  ‘doc’ al directorio remoto ‘web/’ del 
sitio  ‘ftp.zonaoscura.net’ .

[ reput ]
reput [­E] [­a] [­O base] flocal [­o fremoto]
Como put ­c

Bajando y Subiendo  Sistemas de Directorios: mirror
[ Volver al Índice ] 
Una de las características de lftp es la de poseer el comando mirror, mediante el cual pueden 
transferirse y actualizarse sistemas de directorios enteros.

[ mirror ]
mirror [OPCIONES] [origen [destino]]
Con mirror se transfiere el directorio especificado en origen al especificado en destino.
Si se omite el nombre del directorio origen, se entiende que opera desde el directorio en uso.
Si se omite el nombre del directorio destino, se usará como nombre de este el nombre del directorio 
origen .
27

Si se omiten ambos nombres se usará el nombre del directorio en uso ( local o remoto)
Tanto el directorio origen como el directorio destino pueden ser URLs que apunten a directorios: Se 
puede realizar una transferencia entre dos servidores, especificando URLs que apunten a 
directorios. Si es posible, se usará automaticamente FXP para la transferencia entre dos servidores 
ftp.
Si el nombre del directorio destino acaba con una /, el nombre del directorio origen será “colgado” 
al nombre del directorio destino.
Tanto origen como destino pueden ser URLs que apunten a un directorio.
Podemos considerar dos formas de funcionamiento del comando mirror
mirror [OPCIONES] [origen [destino]]
El directorio origen es un directorio remoto y el directorio destino es un directorio local: Se bajan 
directorios
mirror ­R [OPCIONES] [origen [destino]]
El directorio origen es un directorio local y el directorio destino es un directorio remoto: Se suben 
directorios
En realidad, ­R es una opción más del comando mirror, pero el cambio de comportamiento que 
implica su utilización puede justificar su tratamiento como “comando”: mirror seria el equivalente 
a get y mirror ­R a  put.
opciones:
­c  –continue
continua una tarea de transferencia, si es posible.
­e  –delete
elimina archivos no presentes en el sitio remoto
–delete­first
elimina los archivos antiguos antes de transferir los nuevos
–depth­first
desciende a los subdirectorios antes de transferir archivos
­s  –allow­suid
configura los bits suid/sgid de acuerdo con el sitio remoto
–allow­chown
prueba de configurar propietario y grupo en los archios
–ascii
utilizar el modo ascii en la transferencia (implica –ignore­size)
–ignore­time
ignora tiempo si se está bajando
–ignore­size
ignora tamaño si se está bajando
–only­missing
baja solo archivos extraviados
–only­exiting
baja solo archivos existentes en el directorio destino
28

­n  –only­newer
baja solo nuevos archivos (no puede usarse con ­c)
–no­empty­dirs
no crea en destino directorios vacios ( implica –depth­first)
­r  –no­recursion
no va a los subdirectorios
–no­symlinks
no crea enlaces simbólicos
­p  –no­perms
no configura los permisos de archivo
–no­umask
no aplica umask
­R –reverse
cambia mirror al modo “reverse mirror”: sube directorios
­L  –dereference
baja los enlaces simbólicos como archivos
­N  –newer­than=SPEC
baja solo archivos posteriores a la fecha(tiempo) especificada(o)(SPEC)
–on­change=CMD
ejecuta el comando especificado (CMD), si algo ha cambiado
–older­than=SPEC
baja solo archivos anteriores a la fecha(tiempo) especificada(o)(SPEC)
–size­range=RANGE
baja solo archivos cuyo tamaño se encuentre en el rango especficado (RANGE)
­P  –parallel[=N]
baja N archivos en paralelo
–use­pget[­n=N]
usar pget para transferir cada archivo individual
–loop
loop hasta que no se encuentren cambios
­i RX   –include RX
incluir archivos que coincidan con la expresión regular (RX)
­x RX –exclude RX
exluir archivos que coincidan con la expresión regular (RX)
­I GP –include­glob GP
incluir archivos que coincidan con el patrón global (GP)
­X GP –exclude­glob GP
excluir archivos que coincidan con el patrón global (GP)
­v –verbose[=level]
operación en modo “verboso”
–log=FILE
escribe los comandos lftp ejecutados en el archivo especificado (FILE)
–script=FILE
escribe los comandos lftp en el archivo especificado (FILE), pero no ejecutarlos
29

–just­prit, –dry­run
como –script=­
–use­cache
usar los listados del directorio cache
–Remove­source­files
eliminar los archivos origen después de su transferencia (¡usar con precaución!)
­a
igual que  –allow­chown –allow­suid –no­umask
RX es una expresión regular extendida, como en egrep
GB es un patrón global, como, por ejemplo *.zip
Las opciones include (i ­ )  y exclude ( ­x ) pueden ser especificadas varias veces. Esto significa que 
un archivo o directorio será transferido si va marcado por un include y no tiene excludes antes del 
include.
Los directorios deben llevar una /
Debemos tener en cuenta que cuando se suben archivos a un servidor remoto, no se crean los 
enlaces simbólicos, ya que el protocolo ftp no puede hacerlo. Para subir los archivos a los que se 
refieren los enlaces simbólicos, utilizar el comando  mirror ­RL ( tratar los enlaces simbólicos 
como archivos)
En la opción –newer­than puede especificarse un archivo o una especificación de tiempo como las 
utilzadas por el comando at , por ejemplo, ‘now­7days‘  o  ‘week ago’. Si se especifica un archivo, 
se utilizará la especificación de tiempo de este archivo.
El “nivel de verbosidad” puede ser seleccionado mediante la opción –verbose=level o mediante 
varias opciones  ­v ,  por ejemplo ­vvv. Los niveles son:

0  sin salida (nivel por defecto)
1  muestra acciones
2  + nombre de los ficheros no brrados ( mientras no se haya especificado ­e)
3  + nombre de los directorios transferidos
–only­newer desactiva la comparación del tamaño de los archivos y sube/baja solo nuevos archivos 
siempre y cuando su tamaño sea diferente. Por defecto, los archivos mas antiguos sn transferidos y 
remmplazan a los nuevos.
Algunos servidores ftp no muestran los llamados “archivos ocultos” o “archivos con punto”, como, 
por ejemplo, ‘.htaccess’ , y los muestran solo cuando el comando LIST (ls) se usa con la opción ­a, 
( ls ­a).
Algunos ejemplos del comando mirror:
Comprobamos cual es el directorio local en uso:
lftp zeta@ftp.dzeta.net:/web> lpwd

/Users/asd53 lpwd

/Users/asd53
30

Creamos un directorio vacio, ‘Bajadas‘ , en el directorio local en uso ‘/Users/asd53′
lftp zeta@ftp.dzeta.net:/web> !mkdir Bajadas

Cambiamos el directorio local en uso a ‘Bajadas‘
lftp zeta@ftp.dzeta.net:/web> lcd Bajadas
lcd ok, local cwd=/Users/asd53/Bajadas

Ejecutamos el comando mirror , en modo “verboso” (­v) para bajar el directorio remoto  ‘textos’. 
Como no especificamos un directorio destino, se guardará en el directorio local en uso 
( ‘/Users/asd53/Bajadas’ ).
ftp zeta@ftp.dzeta.net:/web> mirror -v textos
Transferring file `documento1'
Transferring file `documento2'
Making directory `borradores'
Transferring file `borradores/borrador1'
Transferring file `borradores/borrador2'
Total: 2 directories, 4 files, 0 symlinks
New: 4 files, 0 symlinks
42624 bytes transferred in 12 seconds (3.5K/s)

Ahora vamos a especificar como destino otro directorio distinto al directorio en uso, por ejemplo el 
directorio vacio ‘/Users/asd53/Archivos’ :
lftp zeta@ftp.dzeta.net:/web> mirror -v textos /Users/asd53/Archivos
Transferring file `documento1'
Transferring file `documento2'
Making directory `borradores'
Transferring file `borradores/borrador1'
Transferring file `borradores/borrador2'
Total: 2 directories, 4 files, 0 symlinks
New: 4 files, 0 symlinks
42624 bytes transferred in 12 seconds (3.5K/s)

Veamos que hay dentro de  ‘Archivos’ tras la bajada:
lftp zeta@ftp.dzeta.net:/web> lcd /Users/asd53/Archivos
lcd ok, local cwd=/Users/asd53/Archivos
lftp zeta@ftp.dzeta.net:/web> !ls -l
total 48
drwxr-xr-x 4 asd53 asd53 136 27 sep 11:07 borradores
-rw-r--r-- 1 asd53 asd53 6472 27 sep 07:49 documento1
-rw-r--r-- 1 asd53 asd53 14840 27 sep 07:51 documento2

Como podemos observar, se ha transferido el contenido del directorio origen ( ‘textos’ ) pero NO se 
ha creado un directorio  ‘textos’ .
31

Si hacemos acabar el nombre del directorio destino con una /, el nombre del directorio origen será 
“colgado” al nombre del directorio destino.
lftp zeta@ftp.dzeta.net:/web> mirror -v textos /Users/asd53/Archivos/
Transferring file `documento1'
Transferring file `documento2'
Making directory `borradores'
Transferring file `borradores/borrador1'
Transferring file `borradores/borrador2'
Total: 2 directories, 4 files, 0 symlinks
New: 4 files, 0 symlinks
42624 bytes transferred in 12 seconds (3.4K/s)

Si “miramos” el directorio  ‘/Users/asd53/Archivos/’ :
lftp zeta@ftp.dzeta.net:/web> lcd /Users/asd53/Archivos
lcd ok, local cwd=/Users/asd53/Archivos
lftp zeta@ftp.dzeta.net:/web> !ls -l
total 0
drwxr-xr-x 5 asd53 asd53 170 29 sep 16:43 textos

lftp zeta@ftp.dzeta.net:/web> lcd textos


lcd ok, local cwd=/Users/asd53/Archivos/textos
lftp zeta@ftp.dzeta.net:/web> !ls -l
total 48
drwxr-xr-x 4 asd53 asd53 136 27 sep 11:07 borradores
-rw-r--r-- 1 asd53 asd53 6472 27 sep 07:49 documento1
-rw-r--r-- 1 asd53 asd53 14840 27 sep 07:51 documento2

Vemos que el contenido del directorio remoto  ‘textos’  se encuentra ahora en un directorio local con 
el mismo nombre , contenido en el directorio local que hemos especificado como destino.
Se puede especificar como destino y/o origen una URL que apunte a un directorio:
Veamos un ejemplo de transferencia en la que el origen es nuestro directorio local en uso y el 
destino una URL que
apunta a un directorio:
lftp zeta@ftp.dzeta.net:/web> mirror -v textos
ftp://delta:d53v105@ftp.zonaoscura.net/web/

Transferring file `documento1'

Transferring file `documento2'

Making directory `borradores'

Transferring file `borradores/borrador1'

Transferring file `borradores/borrador2'

Total: 2 directories, 4 files, 0 symlinks

New: 4 files, 0 symlinks


32
Si miramos el contenido del directorio destino,  ‘/web/’  veríamos que contiene el directorio origen 
( ‘textos’ ) con todo su contenido ( hemos acabado el nombre del directorio destino con una / ):
lftp delta@ftp.zonaoscura.net:/web> ls -l
drwxr-xr-x 5 80 delta 512 Sep 29 16:29 .

drwxr-xr-x 5 80 delta 512 Sep 1 15:30 ..


drwxrwxrwx 12 80 delta 2048 Sep 1 16:03 galeria
-rwxrwxrwx 1 80 delta 1094 Jun 13 14:27 index.html
drwxrwxrwx 11 80 delta 512 Jun 13 16:25 photoblog
drwxr-xr-x 3 80 delta 512 Sep 29 16:29 textos
lftp delta@ftp.zonaoscura.net:/web> cd textos
cd ok, cwd=/web/textos
lftp delta@ftp.zonaoscura.net:/web/textos> ls -l
drwxr-xr-x 3 80 delta 512 Sep 29 16:51 .
drwxr-xr-x 6 80 delta 512 Sep 29 16:51 ..
drwxr-xr-x 2 80 delta 512 Sep 29 16:51 borradores
-rw-r--r-- 1 80 delta 6472 Sep 29 16:51 documento1
-rw-r--r-- 1 80 delta 14840 Sep 29 16:51 documento2

Veamos ahora una transferencia en la que origen y destino son, ambos, URLs apuntando a 
directorios:
ftp beta@ftp.rpublica.net:~> mirror -v
ftp://zeta:rt0025zj@ftp.dzeta.net/web/DirectorioA

ftp://delta:d53v105@ftp.zonaoscura.net/web/
Transferring file `doc1'
Transferring file `doc2'
Making directory `directorio1'
Transferring file `directorio1/archivo1'
Transferring file `directorio1/archivo1a'
Making directory `directorio1/directorio2'
Transferring file `directorio1/directorio2/archivo2'
Making directory `directorio1/directorio3'
Transferring file `directorio1/directorio3/archivo3'
Total: 4 directories, 8 files, 0 symlinks
New: 8 files, 0 symlinks

lftp delta@ftp.zonaoscura.net:/web> ls -la


drwxr-xr-x 6 80 delta 512 Sep 29 17:25 .
drwxr-xr-x 5 80 delta 512 Sep 1 15:30 ..
drwxr-xr-x 3 80 delta 512 Sep 29 17:27 DirectorioA
drwxr-xr-x 3 80 delta 512 Sep 29 17:10 textos

Conectados desde  ‘ftp.rpublica.net’  se ha transferido el directorio  ‘/web/DirectorioA’  del sitio 
‘ftp.dzeta.net’ al directorio  ‘web’ del sitio ‘ftp.zonaoscura.net’
Siempre que el origen de la transferencia sea un directorio remoto, con independencia de cual sea el 
destino, deberá usarse en comando mirror.
33
Cuando el origen sea un directorio local, deberá usarse el “mirror recursivo”: mirror ­R
lftp zeta@ftp.dzeta.net:/web> lpwd
/Users/asd53
lftp zeta@ftp.dzeta.net:/web> mirror -R -v DirectorioB
Transferring file `res1'
Transferring file `res2'
Making directory `DirectorioB.1'
Transferring file `DirectorioB.1/exp1'
Transferring file `DirectorioB.1/exp2'
Total: 2 directories, 5 files, 0 symlinks
New: 5 files, 0 symlinks
28327 bytes transferred in 12 seconds (2.3K/s)

lftp zeta@ftp.dzeta.net:/web> ls
drwxrwxr-x 10 80 zeta 512 Sep 29 18:12 .
drwsrwsrwt 5 80 zeta 512 Sep 20 20:05 ..
drwxr-xr-x 3 80 zeta 512 Sep 29 17:21 DirectorioA
drwxr-xr-x 3 80 zeta 512 Sep 29 18:12 DirectorioB
drwxr-xr-x 3 80 zeta 512 Sep 27 08:54 textos

Guia de sitios: bookmark
[ Volver al Índice ] 

[ bookmark ]
bookmark [subcomandos]
Mediante el comando  bookmark  podemos crear y gestionar “guias” de sitos.
Los bookmarks creados se encuentran el en archivo  ‘~/.lftp/bookmarks’

Subcomandos: add ,list,edit, del, import .
add
bookmark add nombre [url] 
mediante este subcomando añadimos un sitio a la “guia”, cuya dirección se especifica en url , al 
directorio, asignándole un nombre .
La url del sitio puede ser de tres tipos:

url simple: sin especificar usuario ni password : ‘ftp.sitio.net’
especificando usuario: ‘usuario@ftp.sitio.net’
especificando usuario y password: ‘usuario:password@ftp.sitio.net’

Si no se especifica una url, se añadirá la del sitio al que estemos conectados, con el nombre que le 
asignemos (no omitible).
lftp zeta@ftp.dzeta.net:~> bookmark add dz

Hemos añadido al “listin” la url ‘zeta@ftp.dzeta.net’ , con el nombre de ‘dz’.
34

lftp zeta@ftp.dzeta.net:~> bookmark add zona ftp://ftp.zonaoscura.net

Hemos añadido la url ‘ftp.dzeta.net’ con el nombre de ‘zona’.
A la hora de conectar con un sitio incluido en la “guia”, bastará con teclear el nombre asignado.
Las “exigencias” de lftp para una conexión mediante nombre de “bookmark” variarán según como 
hayamos especificado la url de conexión:
Si especificamos como dirección de conexión la dirección del sitio, sin más ( bookmark add nombre 
ftp://ftp.sitio.net ) , deberemos conectar especificando usuario y password.
ftp :~> open zona -u beta
Password:
lftp beta@ftp.zonaoscura.net:~>

Si especificamos el nombre de usuario en la dirección ( bookmark add nombre 
ftp://usuario@ftp.sitio.net ), podremos conectarnos sin tener que especificar el usuario. lftp nos 
pedirá solo el password (Este es el caso en que el “bookmark” del sitio se haya creado estando 
conectados a el: como url se tomó la que aparecia en el prompt:  zeta@ftp.dzeta.net:~> bookmark 
add dz ).
lftp :~> open dz
Password:
cd ok, cwd=/
lftp zeta@ftp.dzeta.net:/>

Si especificamos la url con el nombre de usuario y el password ( ‘bookmark add nombre 
usuario:password@ftp://ftp.sitio.net‘ ), conectaremos directamente, sin necesidad de especificar ni 
usuario ni password .
lftp beta@ftp.zonaoscura.net:~> bookmark add rpublica
ftp://delta:rt0025zj@ftp.rpublica.net

lftp :~> open rpublica


lftp rpublica@ftp.rpublica.net:~>

Otro aspecto a tener en cuenta es que a la hora de especificar la url es que podemos hacer que 
apunte a un determinado directorio del sitio ( ‘usuario:password@ftp://ftp.sitio.net/directorio’ ). La 
conexión se hará directamente al directorio especificado.
list
bookmark list
Nos presenta un listado de los bookmarks. Es el subcomando por defecto cuando se ejecuta la orden 
bookmark sin subcomandos.
El subcomando  list,  nos presenta un listado en el que pueden verse, además de los nombres y las 
direcciones de los sitios, los nombres de usuarios y los passwords, en los casos en que se hayan 
especificado.
lftp zeta@ftp.dzeta.net:~> bookmark list
dz zeta@ftp.dzeta.net
rp delta:rt0025zj@ftp.rpublica.net
rp1 delta:rt0025zj@ftp.rpublica.net/web
zona ftp.zonaoscura.net
35
edit
bookmark edit 
Con este subcomando abrimos el archivo de bookmarks mediante el editor del sistema ( en este casi, 
vi), que nos permite la modificación de cualquiera de las especficaciones.
lftp dzeta@ftp.dzeta.net:~> bookmark edit

z zeta@ftp.dzeta.net
rp delta:rt0025zj@ftp.rpublica.net
rp1 delta:rt0025zj@ftp.rpublica.net/web
zona ftp.zonaoscura.net
~
~
~
"~/.lftp/bookmarks" 4L, 128C

del
bookmark del nombre
Elimina el bookmark del nombre especificado ( nombre )
import
bookmark import 
Importa bookmarks externos

Cerrando conexiones inactivas: close
[ Volver al Índice ] 

[ close ]
close [­a]
Cierra conexiones inactivas.Por defecto solo cerrará las conexiones con el servidor en uso. Con la 
opción ­a cerraremos todas las conexiones inactivas, sea cual fuera el servidor.

Gestionando tareas: jobs, kill, wait .
[ Volver al Índice ] 

[ jobs ]
jobs [­v]
Nos lista las tareas en curso.
La opción ­v nos las muestra en modo “verboso”. Pueden especificarse varias opciones ­v
36

[ kill ]
kill all | nºtarea
Elimina la tarea especificada en nºtarea
kill 3
Con la opción all , eliminamos todas las tareas
kill all

[ wait ]
wait [nºtarea]
Esperar a que termine la tarea especificada ( nºtarea ).Si se omite  nºtarea,  esperar que termine la 
última tarea pasada a background.
wait all
Esperar a que terminen todas las tareas.

Creando y gestionando “colas” : queue
[ Volver al Índice ] 

[ queue ]
queue [ ­n num ] cmd
Añade el comando especificado en cmd , antes del item especificado ( num ) a la cola del sitio, para 
una ejecución secuencial.
Cada sitio tiene su propia cola.
Es posible “encolar” cualquier tarea que se esté ejecutando mediante:
queue wait nºtarea
Con esta orden podremos encolar una tarea que esté en ejecución.
La tarea continuará su ejecución, incluso si no es la primera en la cola.
queue stop
Parará la cola y no se ejecutará ningún nuevo comando, aunque las tareas que se etén ejecutando lo 
seguirán haciendo hasta su finalización.
Puede utilizarse para crear una cola parada vacia.
queue start
Se reanuda la ejecución de la cola.
Cuando se abandona lftp, activará automaticamente todas las colas paradas
Sin argumentos, el comando queue tanto puede dar lugar a la creación de una cola parada como 
mostrarnos el estado de las colas.
37

queue –delete|­d [index o expresión con caracteres comodín]
Elimina uno o más ítems de la cola. Sin argumentos, se eliminará la última entrada en la cola.
queue –move|­m [index]
Mueve los items especificados antes del index , o al final, si se ha especificado un destino
­q modo silencioso
­v modo verboso
­Q nos da la salida en un formato que puede ser utilizado para “re­encolar”. Ùtil con  –delete.

Veamos unos ejemplos:
Encolamos la bajada del archivo  ‘doc2′ :
lftp zeta@ftp.dzeta.net:/web/DirectorioA> queue get doc2

Ejecutando el comando  queue sin argumentos nos mostrará el estado de la cola: vemos que hay un 
item encolado
lftp zeta@ftp.dzeta.net:/web/DirectorioA> queue
ftp://zeta@ftp.dzeta.net/web/DirectorioA
Queue is stopped.
Commands queued:
1. get doc2

Seguidamente encolamos la ejecución del comando wait sobre la tarea 1 (en este caso, ‘get doc2′ ) 
:
lftp zeta@ftp.dzeta.net:/web/DirectorioA> queue wait 1
lftp zeta@ftp.dzeta.net:/web/DirectorioA> queue
ftp://zeta@ftp.dzeta.net/web/DirectorioA
Queue is stopped.

Commands queued:
1. get doc2
2. wait 1

Encolamos la bajada de otro archivo controlamos el estado de la cola:
lftp zeta@ftp.dzeta.net:/web/DirectorioA> queue get doc1
lftp zeta@ftp.dzeta.net:/web/DirectorioA/directorio1> queue
ftp://zeta@ftp.dzeta.net/web/DirectorioA
Queue is stopped.
Commands queued:
1. get doc2
2. wait 1
3. get doc1

Vamos a cambiar de directorio y encolar tres bajadas de archivos mas:
lftp zeta@ftp.dzeta.net:/web/DirectorioA> cd directorio1
lftp zeta@ftp.dzeta.net:/web/DirectorioA/directorio1> queue get archivo1
lftp zeta@ftp.dzeta.net:/web/DirectorioA/directorio1> queue get archivo2
lftp zeta@ftp.dzeta.net:/web/DirectorioA/directorio1> queue get archivo1a
38

Controlamos el estado de la cola, con queque sin argumentos, pudiendo observar como nos 
especifica el directorio a que pertenece cada item de la cola:
lftp zeta@ftp.dzeta.net:/web/DirectorioA/directorio1> queue
ftp://zeta@ftp.dzeta.net/web/DirectorioA
Queue is stopped.
Commands queued:
1. get doc2
2. wait 1
3. get doc1
cd /web/DirectorioA/directorio1
4. get archivo1
5. get archivo2
6. get archivo1a

Eliminamos el item 3 :
lftp zeta@ftp.dzeta.net:/web/DirectorioA/directorio1> queue -d 3
Deleted job: get doc1

Podemos ver como, tras la eliminación de un item se mantiene el orden:
lftp zeta@ftp.dzeta.net:/web/DirectorioA/directorio1> queue
ftp://zeta@ftp.dzeta.net/web/DirectorioA
Queue is stopped.
Commands queued:
1. get doc2
2. wait 1
cd /web/DirectorioA/directorio1
3. get archivo1
4. get archivo2
5. get archivo1a

Vamos a mover el item 5 a la posición 3:
lftp zeta@ftp.dzeta.net:/web/DirectorioA/directorio1> queue -m 5 3

Observemos como se ha llevado a cabo el “traslado” del item:
lftp zeta@ftp.dzeta.net:/web/DirectorioA/directorio1> queue
ftp://zeta@ftp.dzeta.net/web/DirectorioA
Queue is stopped.
Commands queued:
1. get doc2
2. wait 1
cd /web/DirectorioA/directorio1
3. get archivo1a
4. get archivo1
5. get archivo2

Ahora vamos a mover todos los items que respondan a la expresión  “get arc*” al inicio de la cola:
lftp zeta@ftp.dzeta.net:/web/DirectorioA/directorio1> queue -m "get arc*" 1

Observemos como se ha llevado a cabo esta última acción:
39

lftp zeta@ftp.dzeta.net:/web/DirectorioA/directorio1> queue


ftp://zeta@@ftp.dzeta.net/web/DirectorioA
Queue is stopped.
Commands queued:
cd /web/DirectorioA/directorio1
1. get archivo1a
2. get archivo1
3. get archivo2
cd /web/DirectorioA
4. get doc2
5. wait 1

Eliminemos todos los items respondan a la expresión “get arc* ”
lftp zeta@ftp.zeta.net:/web/DirectorioA/directorio1> queue -d "get arc*"
Deleted jobs:
1. get archivo1a
2. get archivo1
3. get archivo2
lftp zeta@ftp.dzeta.net:/web/DirectorioA/directorio1> queue
ftp://zeta@ftp.dzeta.net/web/DirectorioA
Queue is stopped.
Commands queued:
1. get doc2
2. wait 1

Observemos que ocurre cuando se sale de lftp, habiendo items encolados:
lftp dzeta@ftp.dzeta.net:/web/DirectorioA/directorio1> exit
[1556] Moving to background to complete transfers...

Mueve a backcground todos las acciones encoladas, hasta su ejecución completa.

Gestionando la memoria cache : cache

[ Volver al Índice ] 

[ cache ]
cache [subcomando]
Nos permite cotrolar la memoria cache local.
Subcomandos: stat, on|off ,flush, size, expire .

stat
cache stat
Nos muestra el estado de la memoria cache. Es el subcomando por defecto cuando se ejecuta cache 
sin especificar un subcomando.
lftp zeta@ftp.dzeta.net:~> cache stat
0 bytes cached, maximum size 16777216
40

on|off
cache on
activa el proceso cache
cache off
desactiva el proceso cache

flush
cache flush
Vacia cache
size
cache size lim
Establece el límite ( lim ) de la memoria cache.
lftp zeta@ftp.dzeta.net:~> cache size 300
lftp zeta@ftp.dzeta.net:~> cache stat
0 bytes cached, maximum size 300

expire
cache expire Nx
Nos permite fijar el tiempo de expiración (N) de la memoria cache en segundos (x=s), minutos 
(x=m) o dias (x=d).
lftp zeta@ftp.dzeta.net:~> cache expire 2d

Hemos establecido un tiempo de expiración de 2 dias (N=2, x=d)

Gestionando comandos: at, alias, command, source, repeat, 
site .
[ Volver al Índice ] 

[ at ]
at tiempo comando
Espera el tiempo especifico (tiempo) antes de ejecutar el comando (comando)

[ alias ]
alias [nombre [valor]]
Define o elimina el alias especificado en nombre. El valor es la acción que asignamos al alias.
lftp dzeta@ftp.dzeta.net:/web> alias l ls -l
41
El alias l toma el valor del comando ls ­l . A partir de su definición, cuando queramos obtener la 
acción del comando ls ­l ,bastará con ejecutar l
lftp zeta@ftp.dzeta.net:/web> l
drwxrwxr-x 10 80 zeta 512 Sep 29 18:15 .
drwsrwsrwt 5 80 zeta 512 Sep 20 20:05 ..
drwxrwxrwx 16 80 zeta 1024 Sep 21 23:21 Joomla
drwxrwxrwx 5 80 zeta 512 Sep 22 12:35 R1
drwxr-xr-x 3 80 zeta 512 Sep 22 12:47 R2
drwxr-xr-x 2 80 zeta 512 Sep 21 22:06 galeria
drwxr-xr-x 16 80 zeta 1024 Sep 25 18:07 joomlae

Para eliminar un alias, especificaremos su nombre sin asignarle un valor:
lftp zeta@ftp.dzeta.net:/web> alias l

Si ahora pretendiéramos ejecutar el alias, obtendríamos:
lftp zeta@ftp.dzeta.net:/web> l
Ambiguous command `l'.

Ejecutando el comando alias sin argumentos obtendremos un listado de los alias definidos:
lftp dzeta@ftp.dzeta.net:/web> alias
alias bzless bzmore
alias dir ls
alias edit "eval -f \"get $0 -o ~/.lftp/edit.tmp.$$ && shell \\\"cp -p
~/.lftp/edit.tmp.$$ ~/.lftp/edit.tmp.$$.orig && $EDITOR ~/.lftp/edit.tmp.$$ &&
test ~/.lftp/edit.tmp.$$ -nt ~/.lftp/edit.tmp.$$.orig\\\" && put
~/.lftp/edit.tmp.$$ -o $0; shell rm -f ~/.lftp/edit.tmp.$$*\""
alias less more
alias reconnect "close; cache flush; cd ."
alias zless zmore

[ command ]
command comando argumentos
Ejecuta el comando (comando) especificado, con sus argumentos (argumentos), ignorando los alias.

[ source ]
source archivo
source ­e cmd
Ejecuta los comandos grabados en el archivo (archivo)  o, con la opción ­e, devueltos por el 
comando externo especificado en cmd
Ejemplos:
lftp zeta@ftp.dzeta.net:/web/DirectorioA> source ~/comand.txt

drwxr-xr-x 3 3123 zeta 512 Sep 29 17:21 .

drwxrwxr-x 10 3123 zeta 512 Sep 29 18:15 ..

-rw-r--r-- 1 3123 zeta 6148 Sep 27 09:19 .DS_Store


42

drwxr-xr-x 4 3123 zeta 512 Sep 29 17:21 directorio1

-rw-r--r-- 1 3123 zeta 6472 Sep 27 06:49 doc1

-rw-r--r-- 1 3123 zeta 14840 Sep 27 06:51 doc2

lftp zeta@ftp.dzeta.net:/web>

Nos ha ejecutados los comandos contenidos en el archivo  ‘comand.txt’ del directorio local en uso: 
ls ­a y cd..
lftp zeta@ftp.dzeta.net:/> source -e echo help
! (commands)
alias [ []] anon
bookmark [SUBCMD] cache [SUBCMD]
cat [-b] cd
..................................................

Nos ha ejecutado la salida del comando echo help, o sea, help  

[ repeat ]
repeat [­c num] [­d intervalo] [comando]
Repite la ejecución del comando especificado (comando),  con el intervalo ( intervalo) especificado 
entre iteraciones.Por defecto, el intervalo es de 1 segundo.
opciones:
­c num
limita en número de iteraciones al valor especificado en num .
­d intervalo
establece el intervalo entre iteraciones ( por defecto, 1 segundo).

[ site ]
site cmd
Ejecuta el comando del sitio especificado en cmd y nos muestra el resultado. Puede redirigirse la 
salida.

Otras accciones: sleep, suspend, slot .
[ Volver al Índice ] 

[ sleep ]
sleep intervalo
Suspende la acción durante tiempo establecido en intervalo. Por defecto el intervalo es en segundos 
(s), aunque puede especificarse en minutos, horas o dias, con los subfijos m, h y d respectivamente. 
( Ver también at )
43

[ suspend ]
Para el proceso lftp. Debemos tener en cuenta que las transferencias serán también interrumpidas 
hasta que se continue el proceso mediante los comandos shell fg o bg.
lftp zeta@ftp.dzeta.net:/web> suspend

[1]+ Stopped lftp

Ahora reiniciamos el proceso mediante el comando fg :
ubuntu:~ asd53$ fg

lftp

lftp zeta@ftp.dzeta.net:/web>

Si hubieramos reiniciado mediante el comando  bg , el reinicio se haria en background. Con fg lo 
pasaríamos a foreground.
lftp dzeta@ftp.dzeta.net:/web> suspend

[1]+ Stopped lftp


ubuntu:~ asd53$ bg
[1]+ lftp &
ubuntu:~ asd53$ fg
lftp
lftp zeta@ftp.dzeta.net:/web>

[ slot ]
slot [nombre]
Sin argumento, nos lista los slots asignados. Si especificamos un nombre de slot (nombre), nos 
selecciona el slot de este nombre.
Un sot es una conexión a un servidor, algo así como una cónsola virtual. Pueden crearse múltiples 
slots conectados a diferentes servidores y operar con ellos pasando de uno a otro. Para pasar de un 
slot a otro puede usar la expresión:  slot:nombre como una pseudo URL que nos llevará al slot 
especificado. Podemos saltar de un slot a otro ( de los comprendidos entre 0­9) usando las teclas 
Meta­0 ­ Meta­9 ( en algunos casos, en lugar de la tecla Meta deberá usarse la tecla Alt).

Configurando lftp : set
[ Volver al Índice ] 
La configuración de lftp se guarda en el archivo ‘ /etc/lftp.conf’ (En MacOSX: 
‘/opt/local/etc/lftp.conf’ )
En  ‘lftp.conf’  pueden definirse los alias y configurarse las variables. (Estas acciones pueden 
realizarse también através de sus correspondientes comandos: alias y set )
44

[ set ]
set [var [val]]
Configura la variable var con el valor  val. Si se omite el valor, la variable es desconfigurada.
Cuando se ejecuta set sin la variable, nos mostrará las variables cuya configuración ha sido 
cambiada.
Este último comportamiento puede alterarse con las siguientes opciones:
­a nos lista todas las variables, incluidas las configuraciones por defecto.
­d nos lista solo los valores por defecto de las variables, que no deben ser, necesariamente, los 
valores con los cuales se hallan configuradas en este momento.
lftp :~> set
set cmd:prompt "lftp \\S\\? \\u\\@\\h:\\w> "
set cmd:term-status/*rxvt* "\\e[11;0]\\e]2;\\T\\007\\e[11]"
set cmd:term-status/*screen* \\e_\\T\\e\\
set cmd:term-status/*xterm* "\\e[11;0]\\e]2;\\T\\007\\e[11]"
set file:charset UTF-8
set ftp:auto-sync-mode "icrosoft FTP Service|MadGoat"
....................

lftp :~> set -a


set bmk:auto-sync yes
set bmk:save-passwords no
set cache:cache-empty-listings no
set cache:enable yes
set cache:expire 60m
set cache:expire-negative 1m
set cache:size 16777216
set cmd:at-exit ""
........................

lftp :~> set -d


set bmk:auto-sync yes
set bmk:save-passwords no
set cache:cache-empty-listings no
set cache:enable yes
set cache:expire 60m
set cache:expire-negative 1m
set cache:size 16777216
................................

Los nombres de las variables responden al formato nombre/cierre ; en el cierre debe especificarse 
la exacta aplicación de la configuración.
Los nombres de las variables pueden abreviarse salvo que resulten ambiguos. También puede 
omitirse el prefijo antes de : .
Puede configurarse varias veces una misma variable para diferentes terminaciones, con lo que se 
obtendrá una configuración específica para un estado específico. La terminación debe especificarse 
después del nombre de la variable, separándola de este con una /.
Las terminaciones para las variables de dominio dn: , net: , ftp: , http: , hftp: , suele ser el nombre 
de dominio, tal y como lo especificamos en el comando  open. La terminación para algunas de las 
variables cmd: suele ser la URL en uso, sin path. En el resto de las variables no suele usarse 
terminación.
45

En la configuración de variables tendremos en cuenta:
Unidades de tiempo: s­segundos, m­minutos, h­horas, d­dias. ( Por defecto: segundos). Pueden 
utilizarse tambén las expresiones infinity , inf (infinito) , never (nunca) , forever (siempre).
Ejemplos: 5h30m , 5.5h, set dns:cache­expire never.
Los valores booleanos pueden ser:
para Verdadero cualquiera de estos: true , on , yes , 1 , +
para Falso, cualquiera de estos: false , off , no , 0 , ­
En el archivo  ‘lftp.conf’  pueden verse ejemplos de configuración de variables.
En el Apéndice se describen las variables de configuración más frecuantemente utilizadas.

Variables de entorno
[ Volver al Índice ] 
lftp procesa las siguientes variables de entorno:
HOME
Usada para la expansión “tilde” (~) en el host local.
SHELL
Usada por el comando ! para determinar la shell a utilizar.
PAGER
Indica el nombre del paginador a usar. Es utilizada por los comandos more y  zmore.
http_proxy, https_proxy
Utilizadas para para la configuración por defecto de las variables de configuración http:proxy, 
hftp:proxy  y  https:proxy
ftp_proxy
Utilizada para la configuración inicial de las variables de configuración ftp:proxy  y  hftp:proxy, 
dependiendo del protocolo usado en la URL esta variable de entorno.
no_proxy
Utilizada para la configuración inicial de la variable de configuración net:no­proxy
LFTP_MODULE_PATH
Utilizada para la configuracion inicial de la variable de configuración module:path
LFTP_HOME
Utilizada para localizar el directorio en el que se guardarán los archivos de configuración del 
usuario. Si no se configurara, por defecto se localizarian el  ‘~/.lftp’
46

Archivos
[ Volver al Índice ] 
/etc/lftp.conf ( En Mac OS X : /opt/local/etc/lftp.conf)
Archivo de configuración de lftp. Su localización depende de la opción  –sysconfdir. Cuando el 
prefijo sea /usr , por defecto será : /usr/local/etc
~/.lftp/rc , ~/.lftprc
Estos archivos se ejecutan en el arranque de lftp después de /etc/lftp.conf
~/.lftp/log
Registra los eventos cuando lftp pasa a background en modo nohup
~/.lftp/transfer_log
Se utiliza cuando la variable de configuración  xfer:log se halla configurada en ‘yes’.
~/.lftp/bookmarks
Se utiliza para guardar los bookmarks.
~/.lftp/cwd_history
Se utiliza para guardar los últimos directorios en uso para cada uno de los sitios visitados.
~/.netrc
Este se archivo se consulta para obtener el usuario y el password por defecto de un sitio ftp. Los 
passwords se buscan aquí cuando se realiza una conexión a un sitio con el usuario pero sin el 
password.
47

Apéndice: Descripción de las variables de configuración.
[ Volver al Índice ] 

bmk:save­passwords (booleano)
Guarda los passwords de los bookmarks cmo texto plano en  ‘~/.lftp/bookmarks’ cuando se ejecuta 
el comando bookmark add.
Por defecto:set bmk:save­passwords no

cmd:at­exit (cadena)
Los comandos de la cadena son ejcutados antes que lftp finalice.
Por defecto: set cmd:at­exit “”

cmd:csh­history (booleano)
activa la expanción del histórico de csh.
Por defecto: set cmd:csh­history off

cmd:default­protocol (cadena)
este valor es usado cuando el comando open se ejecuta con un nombre de servidor en el que no se 
especifica el protocolo de conexión.
Por defecto: ftp set cmd:default­protocol ftp

cmd:fail­exit (booleano)
si verdadero, acaba cuando un comando no condicional ( sin || y && ) falla.
Por defecto: set cmd:fail­exit no 

cmd:long­running (segundos)
tiempo de ejecución de comando que se considerará “largo” y se dará un aviso antes de pasar al 
siguiente prompt.
0 significa off.
Por defecto: set cmd:long­running 30

cmd:ls­default (cadena)
argumento de ls por defecto.
Por defecto: set cmd:ls­default “”
48

cmd:move­background (booleano)
Si falso, lftp rehusa pasar a background cuando finaliza. Para forzarlo, usar el comando `exit bg‘.
Por defecto: set cmd:move­background yes

cmd:prompt (string)
El prompt. lftp reconoce los siguientes caracteres especiales, que son decodificados de la siguiente 
manera:
\@ inserta @ si el usuario no es el usuario por defecto
\a un caracter ASCII bell (07)
\e un caracter ASCII escape (033)
\h el nombre del host al que se halla conectado
\n nueva linea
\s el nombre del cliente (lftp)
\S el nombre del slot en uso
\u el nombre de usuario con el cual se ha conectado
\U la URL del sitioremoto (p.e.,ftp://g437.ub.gu.se/home/james/src/lftp)
\v la versión de lftp (e.g., 2.0.3)
\w el directorio en uso en el servidor remoto
\W el nombre del directorio en uso en el sitio remoto
\nnn el caracter que corresponde al número octal nnn
\\ una /
\? salta el siguiente caracter si la sustitución previa no se dió
\[ inicia una secuencia de de caracteres no imprimbiles, usar para insertar una secuencia de cntros 
de terminal en el prompt
\] inicia una secuencia de de caracteres no imprimbiles
Por defecto: set cmd:prompt “lftp \\S\\? \\u\\@\\h:\\w> “

cmd:parallel (booleano)
Número de tareas activas en paralelo en modo no interactivo.
Por ejemplo, puede ser util para scripts con múltiples comandos ‘get‘.
Configurando con un valor mayor que 1 cambia el comportamiento de ejecución condicional, lo que 
lo hace básicamente inconsistente.
Por defecto : set cmd:parallel 1

cmd:queue­parallel (booleano)
Númer de tareas que se ejecutan en paralelo en una cola.
Por defecto: set cmd:queue­parallel 1
cmd:time­style (cadena)
Aqui se configura el valor por defecto para cls –time­style
Por defecto: set cmd:time­style “%b %e %Y|%b %e %H:%M”
49

cache:cache­empty­listings (booleano)
Si falso, las listas vacias no se guardan en cache.
Por defecto: set cache:cache­empty­listings no

cache:enable (booleano)
Si falso, el cache es desactivado.
Por defecto: set cache:enable yes

cache:expire (intervalo de tiempo)
Las entradas positivas en cache epiran en este intervalo de tiempo.
Por defecto:set cache:expire 60m

cache:expire­negative (intervalo de tiempo)
Las entradas negativas en cache expiran en este intervalo de tiempo.
Por defecto:set cache:expire­negative 1m

cache:size (número)
Tamaño máximo de cache. Cuando se exceda, se eliminarán las entradas mas antiguas.
Por defecto:set cache:size 16777216

cmd:remote­completion (booleano)
Un booleano para controlar si lftp debe o no usar la finalización remota.
Por defecto:set cmd:remote­completion on

cmd:verify­host (booleano)
Si cierto, lftp comprueba y resuelve el nombre de host inmediatamente, en el comando open.
Es posible obviar este control en un determinado comando open si se usa & o si se pulsa ^Z durante 
la comprobación.
Por defecto: set cmd:verify­host yes

cmd:verify­path (booleano)
Si verdadero, lftp comprueba el path dado en el comando cd.
Es posible obviar ese control en un determinado comando cd si se usa & o si se pulsa ^Z durante la 
comprobación.
Ejemplos:
set cmd:verify­path/hftp://* false
cd directory &
Por defecto: set cmd:verify­path yes
50

cmd:verify­path­cached (booleano)
Si falso, la ejecución de `cd‘ a un directorio conocido desde cache como existente, se hará 
inmediatamente.
En caso contrario, la verificación dependerá de la configuración de cmd:verify­path.
Por defecto: set cmd:verify­path­cached no

dns:SRV­query (booleano)
Pregunta por los registros SRV y los usa antes de gethostby­ name.
Los registros SRV serán utilizados solo si port no se especifica explicitamente.
Por defecto: set dns:SRV­query no

dns:cache­enable (booleano)
Activa el cache DNS. Si no esta activado, lftp comprobará y resolverá el nombre del host cada vez 
que se reconecte.
Por defecto: set dns:cache­enable yes

dns:cache­expire (intervalo de tiempo)
Tiempo de vigencia de las entradas de DNS cache.
Tiene el formato +, p.e. 1d12h30m5s o,también 36h.
Para deshabilitar la expiración, configurar a `inf‘ o `never‘.
Por defecto: set dns:cache­expire 1h

dns:cache­size (número)
Número máximo de entradas DNS cache.
Por defecto:set dns:cache­size 256

dns:fatal­timeout (intervalo de tiempo)
Límite de tiempo para las solicitudes de DNS.
Si el servidor DNS se encuentra inaccesible durante demasiado tiemp, lftp fallará a la hora de 
resolver un nombre de host.
Configurar a `never’ para deshabilitarlo.
Por defecto:set dns:fatal­timeout 7d

dns:order (listas de nombres de protocolo)
Configura el orden de las solicitudes de DNS.
Por defecto:set dns:order “inet6 inet”
“inet6 inet” lo que significa que primero busca las direcciones en inet6, entonces, inet y las usa en 
ese orden.
Para deshabilitar inet6 (AAAA) configurar esta variable a “inet”. 
51

dns:use­fork (booleano)
Si verdadero, lftp bifurcará antes de resolver la dirercción del host.
Por defecto:set dns:use­fork yes

dns:max­retries (número)
Si cero,no hay límites en el número de reintentos de lftp para buscar una dirección.
Si > 0, lftp lo intentará solo este número de veces por cada dirección de cada familia de direcciones 
en dns:order.
Por defecto: set dns:max­retries 1000

file:charset (cadena)
Set de caracteres local.
Inicialmente se configura con el set de caracteres local (” “).
Por defecto:set file:charset “”

fish:charset (cadena)
Set de caracteres usado por el servidor fish en peticiones, respuestas y listados de archivos.
Por defecto:set fish:charset “” ( utiliza el set de caracteres local).

fish:connect­program (cadena)
El programa a usar en la conexión con el servidor remoto .
Admite la opción `­l‘ para el nombre del servidor, `­p‘ para el número de puerto.
Por defecto:set fish:connect­program “ssh ­a ­x”

fish:shell (cadena)
Usar la shell especificada en el lado servidor.
Por defecto:set fish:shell /bin/sh
En algunos sistemas,  /bin/sh se interrumpe cuando se apunta el comando cd a un directorio 
inexistente.
lftp puede manejar esto, pero debe reconectarse. Configurar a /bin/bash en tales casos, si bash está 
instalado.

ftp:acct (cadena)
Busca esta cadena en el comando ACCT después de conectarse.El resultado es ignorado.
La terminación para esta configuración tiene el formato user@host.
Por defecto:set ftp:acct “”
52

ftp:anon­pass (cadena)
Configura el password usado en el acceso anónimo.
Por defecto:set ftp:anon­pass lftp@
Un ejemplo: “­name@”, donde name es el nombre de usuario de quien está ejecutando el 
programa.

ftp:anon­user (cadena)
Confiura el nombre de usuario para el acceso anónimo.
Por defecto:set ftp:anon­user anonymous

ftp:auto­sync­mode (regex)
Si el primer mensaje del servidor contiene esta expresión reglar (regex), activa el modo sync para 
este host.
Por defecto: set ftp:auto­sync­mode “”

ftp:charset (cadena)
El set de caracteres usado por el servidor ftp en solicitdes, respuestas y listados de archivos.
Por defecto:set ftp:charset “” (utiliza el set de caracteres local)
Esta configuración se utiliza solo cuando el servidor no soporta UTF8.

ftp:client (cadena)
El nombre del cliente ftp a enviar con el comando CLNT, si es soportado por el servidor.
Por defecto:set ftp:client lftp/3.7.3
Si set ftp:client “” , no se enviará comando CLNT

ftp:fix­pasv­address (booleano)
Si verdadero, lftp intentará corregir la dirección devuelta por el servidor para el comando PASV, en 
el caso en que la dirección del servidor esté en un servidor público y PASV devuelva una dirección 
desde una red privada.
Por defecto:set ftp:fix­pasv­address yes

ftp:fxp­passive­source (booleano)
Si verdadero, lftp intentará configurar el servidor ftp origen en modo pasivo primero.Si se fallara en 
el primer intento, lftp intentará configurar la otra via.Si esta otra disposicón fallara también, lftp 
volverá a registro plano. Ver también ftp:use­fxp.
Por defecto:set ftp:fxp­passive­source no
53

ftp:home (cadena)
Directorio inicial.
Por defecto:set ftp:home “” ( significa: auto).
Configurar a `/’ si no se desea ver  %2F en las URLs.
La terminación para esta configuración tiene el formato usuario@host.

ftp:ignore­pasv­address (booleano)
Si verdadero, lftp utiliza la dirección de conexión control en vez de la devuelta en respuesta PASV 
para conexión de datos.
Por defecto:set ftp:ignore­pasv­address no

ftp:list­empty­ok (booleano)
Si falso, las listas vacias del comando LIST serán tratadas como incorrectas y se usará otro método 
(NLST).
Por defecto:set ftp:list­empty­ok no

ftp:list­options (cadena)
Opciones de configuración asociadas al comando LIST.
Puede ser util configurar `­a‘ si el servidor no muestra por defecto “archivos de punto” (ocultos) .
Por defecto:set ftp:list­options “”

ftp:nop­interval (segundos)
Intervalo entre comandos NOOP .
Por defecto:set ftp:nop­interval 120

ftp:passive­mode (booleano)
Configura ftp en modo pasivo. En modo pasivo lftp utiliza el comando PASV no el comando PORT 
como cuando es usado en modo activo.
En modo pasivo es lftp quien realiza la conexión de datos con el servidor; en modo activo es el 
servidor quien se conecta con lftp para la transmisión de datos.
Por defecto:set ftp:passive­mode on

ftp:port­ipv4 (direccion ipv4 )
Especifica una dirección IPv4 para enviar con el comando PORT.
Por defecto:set ftp:port­ipv4 “” (dirección local)

ftp:port­range (de­a)
Puertos disponibles para el modo activo.
El formato es min­max o Format is min­max,`full’ o `any’ .
Por defecto:set ftp:port­range full
54

ftp:proxy (URL)
Especifica el proxy ftp a usar. Se desactiva con una cadena vacia (”") .
Si el proxi ftp precisa identificación, deberemos especificar nombre de ususrio y password en la 
URL.
Si ftp:proxy arranca con http://, entonces, automaticamente se utilizará el protocolo hftp en lugar 
del ftp.
Por defecto:set ftp:proxy “”

ftp:proxy­auth­type (cadena)
Cuando se configura a “joined”,lftp envia “user@proxy_user@ftp.example.org” como nombre de 
usuario de proxy, y “password@proxy_password” como password.
Cuando se configura a “joined­acct”,lftp envia “user@ftp.example.org proxy_user” como nombre 
de usuario de proxy. El password del sitio es enviado como siempre y se espera el password del 
proxy con el siguiente comando ACCT.
Cuando se configura a “open”, lftp envia primero el usuario de proxy y el password de proxy y 
después “OPEN ftp.example.org” seguido de“USER user”. Luego, password del sitio es enviado 
como de costumbre.
Cuando se configura a “user” (defecto), lftp envia primero el usuario y password del proxy y 
después ``user@ftp.example.org” como nombre de usuario. El password del sitio es enviado como 
de costumbre.
Por defecto:set ftp:proxy­auth­type user

ftp:rest­list (booleano)
Permite la utilización del comando REST antes del comando LIST.
Puede ser de utilidad para grandes directorios, pero algunos servidores ftp, silenciosamente, ignoran 
REST antes de LIST.
Por defecto:set ftp:rest­list no

ftp:rest­stor (booleano)
Si falso, lftp no intentará usar REST antes de STOR.
Esto puede ser util en servidores que corrompen el archivo (completandolo con ceros) si se usa 
REST seguido de STOR.
Por defecto:set ftp:rest­stor yes

ftp:retry­530 (regex)
Reintenta en respuesta 530 del servidor para el comando PASS si el texto contiene la expresión 
regular (regex).
Esta configuración suele ser util para distinguir entre un servior sobrecargado (incidencia temporal) 
y un passwordincorecta (condición permanente).
Por defecto:set ftp:retry­530 “too many|overloaded|try (again |back )?later|is restricted to|maximum 
number|number of connect|only.*session.*allowed|more connection|already connected”
55

ftp:retry­530­anonymous (regex)
Expresión regular adicional para conexión anónima. Como ftp:retry­530.
Por defecto:set ftp:retry­530­anonymous “Login incorrect”

ftp:site­group (cadena)
Envia esta cadena en el comando SITE GROUP después de entarr.El resultado es ignorado.
La terminación para esta confguración tiene el formato user@host.
Por defecto:set ftp:site­group “”

ftp:skey­allow (booleano)
Permite el envio de respuestas skey/opie si el servidor lo soporta.
Por defecto:set ftp:skey­allow yes

ftp:skey­force (booleano)
No envia el password en texto plano por la red. En su lugar usa skey/opie.Si skey/opie no esta 
disponible, nos dará fallo en el login.
Por defecto:set ftp:skey­force no

ftp:ssl­allow (booleano)
Si verdadero,intenta negociar una conexión SSL con el servidor ftp para un acceso no anónimo. 
Esta y otras configuraciones ssl son solo posibles si lftp fué compilado con una biblioteca ssl/tls.
Por defecto:set ftp:ssl­allow yes

ftp:ssl­data­use­keys (booleano)
Si verdadero, lftp carga ssl:key­file para protección de datos.
Por defecto:set ftp:ssl­data­use­keys yes

ftp:ssl­force (booleano)
Si verdadero, rehusa enviar password en claro cuando el servidor no soporta SSL.
Por defecto:set ftp:ssl­force no

ftp:ssl­protect­data (booleano)
Si verdadero, solicita conexión ssl para la transmisión de datos.
Por defecto:set ftp:ssl­protect­data no
56

ftp:ssl­protect­fxp (booleano)
Si verdadero, solicita conexión ssl connection para la transmisión de datos entre dos servidores ftp 
en modo FXP. En tal caso, pueden usarse comandos CPSV o SSCN. Si por cualquier razón fallara la 
conexión ssl, lftp intentaria una transmisión FXP sin protección, salvo que  ftp:ssl­force esté 
configurado para alguno de los dos servidores.
Por defecto:set ftp:ssl­protect­fxp no

ftp:ssl­protect­list (booleano)
Si verdadero,solicita conexión ssl para la transmisión de listas de archivos.
Por defecto:set ftp:ssl­protect­list yes

ftp:ssl­use­ccc (booleano)
Si verdadero, lftp emitirá un comando CCC después de logon, esto desactiva la capa de protección 
ssl.
Por defecto:set ftp:ssl­use­ccc no

ftp:stat­interval (intervalo de tiempo)
Intervalo ( en segundos) entre comandos STAT.
Por defecto:set ftp:stat­interval 1

ftp:sync­mode (booleano)
Si verdadero, lftp enviara un comando y esperará la respuesta.
Si falso, lftp envia un paquete de comandos y espera la respuesta.Desgraciadamente, no suele 
funcionar con todos los servdores ftp y algunos routers tienen problemas con esta configuración.
Por defecto:set ftp:sync­mode on

ftp:timezone (cadena)
Asume esta zona horaria para el tiempo en listados devueltos por el comando LIST.Esta 
configuración puede tomar cualquier valor TZ válido (p.e. Europe/Moscow o 
MSK­3MSD,M3.5.0,M10.5.0/3).
Por defecto:set ftp:timezone GMT
Si set ftp:timezone “” , se tomará la zona horaria local especificada en la variable de entorno TZ.

ftp:use­abor (booleano)
Si falso, lftp no envia comando ABOR pero cierra la conexión de datos inmediatamente.
Por defecto:set ftp:use­abor yes
57

ftp:use­allo (booleano)
Si verdadero (defecto), lftp envia el comando ALLO antes de subir un archivo.
Por defecto:set ftp:use­allo yes

ftp:use­feat (booleano)
Si verdadero (defecto), lftp usa el comando FEAT para determinar caracteristicas extras en el 
servidor ftp.
Por defecto:set ftp:use­feat yes

ftp:use­fxp (booleano)
Si verdadero, lftp intentará una conexión directa entre dos servidores ftp.
Por defecto:set ftp:use­fxp yes

ftp:use­hftp (booleano)
Cuando  ftp:proxy apunta a un proxy http , esta configuración selecciona el método hftp (GET, 
HEAD) si verdadero, y el método CONNECT si falso.
Por defecto:set ftp:use­hftp yes

ftp:lang (booleano)
El lenguage seleccionado con el comando LANG , si es soportado como indicado por la respuesta 
FEAT.
Por defecto:set ftp:lang “” (el del servidor)

ftp:use­mdtm (booleano)
Cuando verdadero, lftp usa el comando MDTM para determinar la fecha de modificación de un 
archivo.
Por defecto:set ftp:use­mdtm yes

ftp:use­mdtm­overloaded (booleano)
Si verdadero, lftp uas dos argumentos en el comando MDTM para configurar la fecha de 
modificación en archivos subidos.
Por defecto:set ftp:use­mdtm­overloaded no

ftp:use­site­idle (booleano)
Si verdadero, lftp envia el comando `SITE IDLE’ con el argumento net:idle
Por defecto:set ftp:use­site­idle no
58

ftp:use­site­utime (booleano)
Si veraddero, lftp envia el comando `SITE UTIME’ con 5 argumentos para configurar la fecha de 
modificación en archivos subidos
Por defecto:set ftp:use­site­utime yes

ftp:use­site­utime2 (booleano)
Si verdadero, lftp envia el comando `SITE UTIME’ con argumentos para configurar la fecha de 
modificación en archivos subidos
Si `SITE UTIME’ con 5 argumentos está activado, se prueba primero con el comando con dos 
argumentos.
Por defecto:set ftp:use­site­utime2 yes

ftp:use­size (booleano)
Si verdadero, lftp usa el comando SIZE command para determinar el tamaño de los archivos.
Por defecto:set ftp:use­size yes

ftp:use­stat (booleano)
Si verdadero, lftp envia el comando STAT en modo FXP para saber cuantos datos han sido 
transferidos.
Ver también ftp:stat­interval.
Por defecto:set ftp:use­stat yes

ftp:use­stat­for­list (booleano)
Si verdadero, lftp usa STAT en lugar del comando LIST .
Algunos servidores requieren opciones especiales para el comando STAT, usar ftp:list­options para 
especificarlas (p.e. ­la).
Por defecto:set ftp:use­stat­for­list no

ftp:use­telnet­iac (booleano)
Si verdadero,lftp usa el comando TELNET IAC y sigue el protocolo TELNET especificado en 
RFC959.
Por defecto:set ftp:use­telnet­iac yes

ftp:use­quit (booleano)
Si verdadero, lftp envia QUIT antes de desconectarse del servidor ftp.
Por defecto:set ftp:use­quit yes

ftp:verify­address (booleano)
Verifica que dato de conexón llega de la dirección del par de control de conexión.
Por defecto:set ftp:verify­address no
59

ftp:verify­port (booleano)
Verifica que conexión de datos tiene el puerto 20 (ftp­data) en su extremo remoto.
Por defecto:set ftp:verify­port no

ftp:web­mode (booleano)
Desconecta después de cerrar la conexión.
Por defecto:set ftp:web­mode off

ftps:initial­prot (cadena)
Especifica la configuración inicial PROT para conexiones FTPS .
Debe ser: C, S, E, P, vacia.
Por defecto:set ftps:initial­prot “”

hftp:cache (booleano)
Permite el cache servidor/proxy para el protocolo ftp­over­http .
Por defecto:set hftp:cache yes

hftp:cache­control (cadena)
Especifica la cabecera de la petición HTTP .
Por defecto:set hftp:cache­control “”

hftp:proxy (URL)
Especifica el proxy http para el protocolo ftp­over­http (hftp).
El protocolo hftp no funciona sin un proxy http.
El valor por defecto es tomado de la variable de entorno ftp_proxy si la dirección de conexión 
comienza por “http://”, si no, de la variable de entorno http_proxy.
Si el proxy ftp requiere identificación, deberá especificarse el usuario y el password en la URL.
Por defecto:set hftp:proxy “”

hftp:use­authorization (booleano)
Si configurado off, lftp enviara el password al proxy como parte de la URL.
Esto puede ser requerido por determinados proxy (p.e. M­soft).
Por defecto:set hftp:use­authorization yes ( El password será enviado como parte de la cabecera de 
autorización)

hftp:use­head (booleano)
Configurado en off, lftp intentará usar `GET’ en vez de `HEAD’ para el protocolo hftp.
Por defecto:set hftp:use­head yes
60

hftp:use­mkcol (booleano)
Configurado en off, lftp intentará usar `PUT’ en vez de `MKCOL’ para crear directorios con el 
protocolo hftp.
Por defecto:set hftp:use­mkcol no

hftp:use­propfind (booleano)
Configurado en off, lftp no intentará usar `PROPFIND’ para obtener el contenido de los directorios 
con el protocolo hftp protocol y usará en su lugat `GET’ .
Por defecto:set hftp:use­propfind no

hftp:use­type (booleano)
Configurado en off, lftp no trata de asociar `;type=’ a las URLs pasadas al proxy.
Por defecto:set hftp:use­type yes

http:accept, http:accept­charset, http:accept­language (cadena)
Especifica las correspondientes cabeceras de solicitud HTTP.
Por defecto:
set http:accept */*
set http:accept­charset “”
set http:accept­language “”

http:authorization (cadena)
La autorización de uso, por defecto, cuando no se ha especificado un usuario.
El formato es ``user:password”.
Por defecto:set http:authorization “” (no autorización)

http:cache (booleano)
Permite cache en lado server/proxy .
Por defecto:set http:cache yes

http:cache­control (cadena)
Especifica las correspondientes cabeceras de solicitud HTTP.
Por defecto:set http:cache­control “”

http:cookie (cadena)
Envia este cookie al servidor.
Es útil una terminación: set cookie/www.somehost.com “param=value”
Por defecto:set http:cookie “”
61

http:post­content­type (cadena)
Especifica el valor de Content­Type en la cabecera de solicitud http para el método POST.
Por defecto:set http:post­content­type application/x­www­form­urlencoded

http:proxy (URL)
Especifica el proxy http. Se usa cuando lftp trabaja sobre protocolo http.
El valor por defecto es tomada de la variable de entorno http_proxy.Si el proxy requiere 
identificación, deberá especificarse usuario y password en la URL.
Por defecto:set http:proxy “”

http:put­method (PUT o POST)
Especifica el método http a usar en put.
Por defecto:set http:put­method PUT

http:put­content­type (cadena)
Especifica el valor de Content­Type en la cabecera de solicitud http para el método PUT.
Por defecto:set http:put­content­type “”

http:referer (cadena)
Especifica el valor para Referer en la cabecera se solicitud http .
Un punto expande `.’ al directorio en uso de la URL.
Por defecto:set http:referer “”

http:set­cookies (booleano)
Si verdadero, lftp modifica las variables http:cookie cuando la cabecera Set­Cookie es recibida.
Por defecto:set http:set­cookies no

http:use­mkcol (booleano)
Configurado en off, lftp intentará usat `PUT’ en vez de `MKCOL’ para crear directorios con el 
protocolo httpl.
Por defecto:set http:use­mkcol yes

http:use­propfind (booleano)
Configurado en off, lftp no intentará usar `PROPFIND’ para tomar el contenido de los directorios 
en el protocolo http y usará en su lugar `GET’
Por defecto:set http:use­propfind no
62

http:user­agent (cadena)
La cadena que lftp envia en la cabecera User­Agent header de la solicitud HTTP
Por defecto:set http:user­agent lftp/3.7.3

https:proxy (cadena)
Especifica el proxy https . El valor por defecto es tomado de la variable de entorno https_proxy.
Por defecto:set https:proxy “”

mirror:dereference (booleano)
Si verdadero, mirror desreferenciará por defecto los enlaces simbólicos.Puede sobreescribirse con la 
opción –no­dereference
Por defecto:set mirror:dereference no

mirror:exclude­regex (regex)
Especifica un patrón de exclusión por defecto. Puede sobreescribirse con la opción –include .
Por defecto:set mirror:exclude­regex “(^|/)(\\.in\\.|\\.nfs)”

mirror:include­regex (regex)
Especifica un patrón de inclusión por defecto. Es usado justo después que mirror:exclude­regex sea 
aplicado. No se usa nunca si mirror:exclude­regex está vacio.
Por defecto:set mirror:include­regex “”

mirror:order (lista de patrones)
especifica el orden de als transferencias de archivos. P.e. configurándolo a “*.sfv *.sum” provoca 
que mirror transfiera primero los archivos que contengan *.sfv , luego los que contengan *.sum y 
finalmente los restantes archivos.
Para procesar directorios antes que los archivos, añadir “*/” al final de la lista de patrones.
Por defecto:set mirror:order “*.sfv *.sig *.md5* *.sum * */”

mirror:parallel­directories (booleano)
Si verdadero, mirror se iniciará procesando varios directorios en paralelo cuando está en modo 
paralelo. Si no, transferirá primero los archivos desde un único directorio antes pasar a otros 
directorios.
Por defecto:set mirror:parallel­directories yes

mirror:parallel­transfer­count (número)
Especifica el número de transferencias paralelas que podrá ejecutar mirror cuando arranque . Puede 
sobreescribirse con la opción –parallel
Por defecto:set mirror:parallel­transfer­count 1
63

mirror:set­permissions (booleano)
Configurado en off, mirror no intentará copiar los permisos de archivos y directorios. Puede 
sobreescribirse con la opción –perms
Por defecto:set mirror:set­permissions yes

mirror:use­pget­n (numero)
Especifica la opción ­n para el comando pget usado para ransferir cada archivo bajo mirror
Por defecto:set mirror:use­pget­n 1 (desctiva pget)

module:path (cadena)
Lista de directorios, separados por dos puntos, en los que buscar módulos. Puede ser inicializado 
por a variable de entorno LFTP_MODULE_PATH.
Por defecto:PKGLIBDIR/VERSION:PKGLIB­DIR’.

net:connection­limit (número)
Máximo número de conexiones concurrentes en un mismo sitio. 0 significa ilimitadas.
Por defecto:set net:connection­limit 0

net:connection­takeover (booleano)
Si verdadero, las conexiones foreground tienen prioridad sobre las background y pueden interrumpir 
las transferencias background para completar una operación foreground .
Por defecto:set net:connection­takeover yes

net:idle (intervalo de tiempo)
Deconecta del servidor tras este tiempo de inactividad.
Por defecto:set net:idle 3m

net:limit­rate (bytes por segundo)
Limita la tasa de transferencia en la conexión de datos. 0 significa ilimitada
Pueden especificarse dos números ,separados por dos puntos, para fijar por separado el límite de 
bajada del de subida.
Por defecto:set net:limit­rate 0:0

net:limit­max (bytes)
Limita acumulando tasa límite no usada. 0 significa ilimitado.
Por defecto:set net:limit­max 0
64

net:limit­total­rate (bytes por segundo)
Limite de la tasa de transferencia de todas las conexiones en suma. 0 significa ilimitado. Pueden 
especificarse dos números ,separados por dos puntos, para fijar por separado el límite de bajada del 
de subida.
Por defecto:set net:limit­total­rate 0:0

net:limit­total­max (bytes)
Limita acumulando tasa límite máxima no usada. 0 significa ilimitado.
Por defecto:set net:limit­total­max 0

net:max­retries (numero)
El número máximo de intentos secuenciales sin éxito de una operación. 0 significa ilimitado.
Por defecto:set net:max­retries 4096

net:no­proxy (cadena)
Contiene una lista de dominios, separados por dos puntos en los cuales no debe ser usado el proxy. 
El valor por defecto es tomado de la variable de entorno no_proxy.
Por defecto:set net:no­proxy “”

net:persist­retries (numero)
Ignora este número de errores.
Por defecto:set net:persist­retries 0

net:reconnect­interval­base (segundos)
Configura la míniba base de tiempo entre reconexiones.El intervalo actual depende de :reconnect­
interval­multiplier
y del número de intentos para formar una operación.
Por defecto:set net:reconnect­interval­base 30

net:reconnect­interval­max (segundos)
Configura el intervalo de reconexión máximo. Cuando el intervalo actual tras la multiplicación por 
net:reconnect­interval­multiplier alcanza este valor (o lo excede), es reiniciado a net:reconnect­
interval­base.
Por defecto:net:reconnect­interval­max 600

net:reconnect­interval­multiplier (número real)
Configura el multipicador por el que debe multiplicarse el intervalo base cada vez que falla un 
intento de formar una operación.Cuuando el intervalo alcanza un máximo, es reiniciado al valor 
base.Ver net:reconnect­interval­base y net:reconnect­interval­max.
Por defecto:set net:reconnect­interval­multiplier 1.5
65

net:socket­bind­ipv4 (dirección ipv4)
Enlaza todos los sockets IPv4 a la dirección especificada.
Por defecto:set net:socket­bind­ipv4 “”

net:socket­bind­ipv6 (dirección ipv6)
Lo mismo para sockets IPv6 .
Por defecto:set net:socket­bind­ipv6 “”

net:socket­buffer (bytes)
Usa el tamaño dado para las opciones socket de SO_SNDBUF y SO_RCVBUF. 0 significa valor del 
sistema por defecto.
Por defecto:set net:socket­buffer 0

net:socket­maxseg (bytes)
Usa el tamaño dado para la opcion socket de TCP_MAXSEG .No todos los sistemas perativos 
soportan esta opción paro linux, si.
Por defecto:set net:socket­maxseg 0

net:timeout (intervalo de tiempo)
Configura el protocolo de tiempo de espera (timeout).
Por defecto:set net:timeout 5m

pget:default­n (numero)
Número de trozos en que partir el archivo en pget.
Por defecto:set pget:default­n 5

pget:save­status (intervalo de tiempo)
Configura cuan a menudo debe guardarse el estatus de pget. Configurar a `never’ para desactivarlo.
El estatus es salvado en un archivo con el subfijo .lftp­pget­status.
Por defecto:set pget:save­status 10s

sftp:charset (cadena)
El set de caracteres usado por el servidor sftp en los nombres de archivo y listados. Esta 
configuración solo se usa para versiones del protocolo sftp anteriores a 4. La versión 4 y posteriores 
ya utilizan UTF­8.
Por defecto:set sftp:charset “” ( usa el set de caracteres del sistema)
66

sftp:connect­program (cadena)
El programa usado para conectar con el servidor remoto.
Soporta la opción `­l’ para el nombre de usuario, y `­p’ para el número de puerto.
Por defecto:set sftp:connect­program “ssh ­a ­x”

sftp:max­packets­in­flight (numero)
El número máximo de paquetes no contestados.
Por defecto:set sftp:max­packets­in­flight 16

sftp:protocol­version (numero)
El número de protocolo.
Por defecto:set sftp:protocol­version 4

sftp:server­program (cadena)
El programa del servidor que implementa el protocolo SFTP. Si no contiene `/’, se considera un 
subsistema ssh2
y se usa la opción ­s cuando se arranca el programa de conexión. Puede usarse rsh :
set sftp:connect­program rsh
set sftp:server­program /usr/libexec/openssh/sftp­server
De forma similar puede usarse sftp sobre ssh1.
Por defecto:set sftp:server­program sftp

sftp:size­read (numero)
Tamaño del bloque para lectura.
Por defecto:set sftp:size­read 0×8000

sftp:size­write (numero)
Tamaño del bloque para escritura.
Por defecto:set sftp:size­write 0×8000

ssl:ca­file (path al archivo)
Usa el archivo especificado como certificado (Certificate Authority) .
Por defecto:set ssl:ca­file “”

ssl:check­hostname (booleano)
Si verdadero, lftp comprueba si el nombre de host usado para conectar con el servidor corresponde 
con el nombre de host en este certificado.
Por defecto:set ssl:check­hostname yes
67

ssl:ca­path (path a un directorio)
Usar el directorio especificado como repositorio de certificados (Certificate Authority).
Por defecto:set ssl:ca­path “”

ssl:crl­file (path a un archivo)
Usar el archivo especificado como certificado revocado (Certificate Revocation List) .
Por defecto:set ssl:crl­file “”

ssl:crl­path (path a un directorio)
Usar el directorio especificado como repositorio de certificados revocados (Certificate Revocation 
List).
Por defecto:set ssl:crl­path “”

ssl:key­file (path a un archivo)
Usar el archivo especificado como clave privada.
Por defecto:set ssl:key­file “”

ssl:cert­file (path a un archivo)
Usar el archivo especificado como certificado.
Por defecto:set ssl:cert­file “”

ssl:verify­certificate (booleano)
Si yes, entonces verifica si los certificados del servidor estan firmados por una Autoridad de 
Certificación conocida y no estan en una Lista de Revocación de Certificados.
Por defecto:set ssl:verify­certificate no

xfer:clobber (booleano)
Configurado en off, los comandos get no sobreescribirán archivos existentes y generarán un error al 
mismo tiempo.
Por defecto: set xfer:clobber yes

xfer:destination­directory (path o URL a un directorio)
Esta configuración es usada como opción ­O por defecto para comandos get y
mget .
Por defecto:set xfer:destination­directory “” ( directorio en uso, no ­O)

xfer:eta­period (segundos)
El periodo sobre el cual se calcula que la tasa promedio produce ETA
Por defecto:set xfer:eta­period 120
68

xfer:eta­terse (booleano)
Muestar ETA (solo partes importantes).
Por defecto:set xfer:eta­terse yes

xfer:log (booleano)
Si verdadero, lftp relaciona ls transferencias en ~/.lftp/transfer_log.
Por defecto:set xfer:log yes

xfer:max­redirections (numero)
Número minimo de redirecciones.
Por defecto:set xfer:max­redirections 5

xfer:rate­period (segundos)
El periodo sobre el cual se calcula la tasa promedio es calculada, para mostrarse.
Por defecto:set xfer:rate­period 15

S-ar putea să vă placă și