Documente Academic
Documente Profesional
Documente Cultură
Lftp: Manual de Uso [español]
Autor: Antoni Serra Devecchi. [http://www.rpublica.net ]
Fuente: Lukyanov, Alexander V. lftpman [ http://lftp.yar.ru/lftpman.html]
Licencia: lftp: manual de uso [español] by antoni serra devecchi is licensed under a Creative
Commons ReconocimientoNo comercialCompartir 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 ( cz) 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 –withopenssl ), 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
drwxrwxrx 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
drwxrxrx 3 3123 80 512 Sep 22 12:47 R2
drwxrxrx 2 3123 80 512 Sep 21 22:06 galeria
drwxrxrx 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:~>
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:movebackground 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
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 ..
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
–blocksize=SIZ
usa bloques de SIZbytes (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, –humanreadable
nos muestra los tamaños en un formato “legible” ( p.e: 1K)
k, –kilobytes
como –blocksize=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)
–timestyle=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/
..........
.........
[ 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
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
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
rwrw) 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
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> 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
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] fremoto1 [o flocal1] fremoto2 [o flocal2] fremoto3 [o flocal3]
………..
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
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
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*
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.lftppgetstatus.
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:dfaultn.
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] flocal1 [o fremoto1] flocal2 [o fremoto2] flocal3 [o fremoto3]
………..
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
–deletefirst
elimina los archivos antiguos antes de transferir los nuevos
–depthfirst
desciende a los subdirectorios antes de transferir archivos
s –allowsuid
configura los bits suid/sgid de acuerdo con el sitio remoto
–allowchown
prueba de configurar propietario y grupo en los archios
–ascii
utilizar el modo ascii en la transferencia (implica –ignoresize)
–ignoretime
ignora tiempo si se está bajando
–ignoresize
ignora tamaño si se está bajando
–onlymissing
baja solo archivos extraviados
–onlyexiting
baja solo archivos existentes en el directorio destino
28
n –onlynewer
baja solo nuevos archivos (no puede usarse con c)
–noemptydirs
no crea en destino directorios vacios ( implica –depthfirst)
r –norecursion
no va a los subdirectorios
–nosymlinks
no crea enlaces simbólicos
p –noperms
no configura los permisos de archivo
–noumask
no aplica umask
R –reverse
cambia mirror al modo “reverse mirror”: sube directorios
L –dereference
baja los enlaces simbólicos como archivos
N –newerthan=SPEC
baja solo archivos posteriores a la fecha(tiempo) especificada(o)(SPEC)
–onchange=CMD
ejecuta el comando especificado (CMD), si algo ha cambiado
–olderthan=SPEC
baja solo archivos anteriores a la fecha(tiempo) especificada(o)(SPEC)
–sizerange=RANGE
baja solo archivos cuyo tamaño se encuentre en el rango especficado (RANGE)
P –parallel[=N]
baja N archivos en paralelo
–usepget[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 –includeglob GP
incluir archivos que coincidan con el patrón global (GP)
X GP –excludeglob 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
–justprit, –dryrun
como –script=
–usecache
usar los listados del directorio cache
–Removesourcefiles
eliminar los archivos origen después de su transferencia (¡usar con precaución!)
a
igual que –allowchown –allowsuid –noumask
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 –newerthan puede especificarse un archivo o una especificación de tiempo como las
utilzadas por el comando at , por ejemplo, ‘now7days‘ 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
–onlynewer 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
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/
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
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
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
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 “reencolar”. Ù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
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
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
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
[ 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 09) usando las teclas
Meta0 Meta9 ( 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"
....................
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: ssegundos, mminutos, hhoras, ddias. ( Por defecto: segundos). Pueden
utilizarse tambén las expresiones infinity , inf (infinito) , never (nunca) , forever (siempre).
Ejemplos: 5h30m , 5.5h, set dns:cacheexpire 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:noproxy
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:savepasswords (booleano)
Guarda los passwords de los bookmarks cmo texto plano en ‘~/.lftp/bookmarks’ cuando se ejecuta
el comando bookmark add.
Por defecto:set bmk:savepasswords no
cmd:atexit (cadena)
Los comandos de la cadena son ejcutados antes que lftp finalice.
Por defecto: set cmd:atexit “”
cmd:cshhistory (booleano)
activa la expanción del histórico de csh.
Por defecto: set cmd:cshhistory off
cmd:defaultprotocol (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:defaultprotocol ftp
cmd:failexit (booleano)
si verdadero, acaba cuando un comando no condicional ( sin || y && ) falla.
Por defecto: set cmd:failexit no
cmd:longrunning (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:longrunning 30
cmd:lsdefault (cadena)
argumento de ls por defecto.
Por defecto: set cmd:lsdefault “”
48
cmd:movebackground (booleano)
Si falso, lftp rehusa pasar a background cuando finaliza. Para forzarlo, usar el comando `exit bg‘.
Por defecto: set cmd:movebackground 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:queueparallel (booleano)
Númer de tareas que se ejecutan en paralelo en una cola.
Por defecto: set cmd:queueparallel 1
cmd:timestyle (cadena)
Aqui se configura el valor por defecto para cls –timestyle
Por defecto: set cmd:timestyle “%b %e %Y|%b %e %H:%M”
49
cache:cacheemptylistings (booleano)
Si falso, las listas vacias no se guardan en cache.
Por defecto: set cache:cacheemptylistings 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:expirenegative (intervalo de tiempo)
Las entradas negativas en cache expiran en este intervalo de tiempo.
Por defecto:set cache:expirenegative 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:remotecompletion (booleano)
Un booleano para controlar si lftp debe o no usar la finalización remota.
Por defecto:set cmd:remotecompletion on
cmd:verifyhost (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:verifyhost yes
cmd:verifypath (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:verifypath/hftp://* false
cd directory &
Por defecto: set cmd:verifypath yes
50
cmd:verifypathcached (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:verifypath.
Por defecto: set cmd:verifypathcached no
dns:SRVquery (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:SRVquery no
dns:cacheenable (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:cacheenable yes
dns:cacheexpire (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:cacheexpire 1h
dns:cachesize (número)
Número máximo de entradas DNS cache.
Por defecto:set dns:cachesize 256
dns:fataltimeout (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:fataltimeout 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:usefork (booleano)
Si verdadero, lftp bifurcará antes de resolver la dirercción del host.
Por defecto:set dns:usefork yes
dns:maxretries (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:maxretries 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:connectprogram (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:connectprogram “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:anonpass (cadena)
Configura el password usado en el acceso anónimo.
Por defecto:set ftp:anonpass lftp@
Un ejemplo: “name@”, donde name es el nombre de usuario de quien está ejecutando el
programa.
ftp:anonuser (cadena)
Confiura el nombre de usuario para el acceso anónimo.
Por defecto:set ftp:anonuser anonymous
ftp:autosyncmode (regex)
Si el primer mensaje del servidor contiene esta expresión reglar (regex), activa el modo sync para
este host.
Por defecto: set ftp:autosyncmode “”
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:fixpasvaddress (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:fixpasvaddress yes
ftp:fxppassivesource (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:usefxp.
Por defecto:set ftp:fxppassivesource 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:ignorepasvaddress (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:ignorepasvaddress no
ftp:listemptyok (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:listemptyok no
ftp:listoptions (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:listoptions “”
ftp:nopinterval (segundos)
Intervalo entre comandos NOOP .
Por defecto:set ftp:nopinterval 120
ftp:passivemode (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:passivemode on
ftp:portipv4 (direccion ipv4 )
Especifica una dirección IPv4 para enviar con el comando PORT.
Por defecto:set ftp:portipv4 “” (dirección local)
ftp:portrange (dea)
Puertos disponibles para el modo activo.
El formato es minmax o Format is minmax,`full’ o `any’ .
Por defecto:set ftp:portrange 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:proxyauthtype (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 “joinedacct”,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:proxyauthtype user
ftp:restlist (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:restlist no
ftp:reststor (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:reststor yes
ftp:retry530 (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:retry530 “too many|overloaded|try (again |back )?later|is restricted to|maximum
number|number of connect|only.*session.*allowed|more connection|already connected”
55
ftp:retry530anonymous (regex)
Expresión regular adicional para conexión anónima. Como ftp:retry530.
Por defecto:set ftp:retry530anonymous “Login incorrect”
ftp:sitegroup (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:sitegroup “”
ftp:skeyallow (booleano)
Permite el envio de respuestas skey/opie si el servidor lo soporta.
Por defecto:set ftp:skeyallow yes
ftp:skeyforce (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:skeyforce no
ftp:sslallow (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:sslallow yes
ftp:ssldatausekeys (booleano)
Si verdadero, lftp carga ssl:keyfile para protección de datos.
Por defecto:set ftp:ssldatausekeys yes
ftp:sslforce (booleano)
Si verdadero, rehusa enviar password en claro cuando el servidor no soporta SSL.
Por defecto:set ftp:sslforce no
ftp:sslprotectdata (booleano)
Si verdadero, solicita conexión ssl para la transmisión de datos.
Por defecto:set ftp:sslprotectdata no
56
ftp:sslprotectfxp (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:sslforce esté
configurado para alguno de los dos servidores.
Por defecto:set ftp:sslprotectfxp no
ftp:sslprotectlist (booleano)
Si verdadero,solicita conexión ssl para la transmisión de listas de archivos.
Por defecto:set ftp:sslprotectlist yes
ftp:ssluseccc (booleano)
Si verdadero, lftp emitirá un comando CCC después de logon, esto desactiva la capa de protección
ssl.
Por defecto:set ftp:ssluseccc no
ftp:statinterval (intervalo de tiempo)
Intervalo ( en segundos) entre comandos STAT.
Por defecto:set ftp:statinterval 1
ftp:syncmode (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:syncmode 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
MSK3MSD,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:useabor (booleano)
Si falso, lftp no envia comando ABOR pero cierra la conexión de datos inmediatamente.
Por defecto:set ftp:useabor yes
57
ftp:useallo (booleano)
Si verdadero (defecto), lftp envia el comando ALLO antes de subir un archivo.
Por defecto:set ftp:useallo yes
ftp:usefeat (booleano)
Si verdadero (defecto), lftp usa el comando FEAT para determinar caracteristicas extras en el
servidor ftp.
Por defecto:set ftp:usefeat yes
ftp:usefxp (booleano)
Si verdadero, lftp intentará una conexión directa entre dos servidores ftp.
Por defecto:set ftp:usefxp yes
ftp:usehftp (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:usehftp 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:usemdtm (booleano)
Cuando verdadero, lftp usa el comando MDTM para determinar la fecha de modificación de un
archivo.
Por defecto:set ftp:usemdtm yes
ftp:usemdtmoverloaded (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:usemdtmoverloaded no
ftp:usesiteidle (booleano)
Si verdadero, lftp envia el comando `SITE IDLE’ con el argumento net:idle
Por defecto:set ftp:usesiteidle no
58
ftp:usesiteutime (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:usesiteutime yes
ftp:usesiteutime2 (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:usesiteutime2 yes
ftp:usesize (booleano)
Si verdadero, lftp usa el comando SIZE command para determinar el tamaño de los archivos.
Por defecto:set ftp:usesize yes
ftp:usestat (booleano)
Si verdadero, lftp envia el comando STAT en modo FXP para saber cuantos datos han sido
transferidos.
Ver también ftp:statinterval.
Por defecto:set ftp:usestat yes
ftp:usestatforlist (booleano)
Si verdadero, lftp usa STAT en lugar del comando LIST .
Algunos servidores requieren opciones especiales para el comando STAT, usar ftp:listoptions para
especificarlas (p.e. la).
Por defecto:set ftp:usestatforlist no
ftp:usetelnetiac (booleano)
Si verdadero,lftp usa el comando TELNET IAC y sigue el protocolo TELNET especificado en
RFC959.
Por defecto:set ftp:usetelnetiac yes
ftp:usequit (booleano)
Si verdadero, lftp envia QUIT antes de desconectarse del servidor ftp.
Por defecto:set ftp:usequit yes
ftp:verifyaddress (booleano)
Verifica que dato de conexón llega de la dirección del par de control de conexión.
Por defecto:set ftp:verifyaddress no
59
ftp:verifyport (booleano)
Verifica que conexión de datos tiene el puerto 20 (ftpdata) en su extremo remoto.
Por defecto:set ftp:verifyport no
ftp:webmode (booleano)
Desconecta después de cerrar la conexión.
Por defecto:set ftp:webmode off
ftps:initialprot (cadena)
Especifica la configuración inicial PROT para conexiones FTPS .
Debe ser: C, S, E, P, vacia.
Por defecto:set ftps:initialprot “”
hftp:cache (booleano)
Permite el cache servidor/proxy para el protocolo ftpoverhttp .
Por defecto:set hftp:cache yes
hftp:cachecontrol (cadena)
Especifica la cabecera de la petición HTTP .
Por defecto:set hftp:cachecontrol “”
hftp:proxy (URL)
Especifica el proxy http para el protocolo ftpoverhttp (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:useauthorization (booleano)
Si configurado off, lftp enviara el password al proxy como parte de la URL.
Esto puede ser requerido por determinados proxy (p.e. Msoft).
Por defecto:set hftp:useauthorization yes ( El password será enviado como parte de la cabecera de
autorización)
hftp:usehead (booleano)
Configurado en off, lftp intentará usar `GET’ en vez de `HEAD’ para el protocolo hftp.
Por defecto:set hftp:usehead yes
60
hftp:usemkcol (booleano)
Configurado en off, lftp intentará usar `PUT’ en vez de `MKCOL’ para crear directorios con el
protocolo hftp.
Por defecto:set hftp:usemkcol no
hftp:usepropfind (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:usepropfind no
hftp:usetype (booleano)
Configurado en off, lftp no trata de asociar `;type=’ a las URLs pasadas al proxy.
Por defecto:set hftp:usetype yes
http:accept, http:acceptcharset, http:acceptlanguage (cadena)
Especifica las correspondientes cabeceras de solicitud HTTP.
Por defecto:
set http:accept */*
set http:acceptcharset “”
set http:acceptlanguage “”
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:cachecontrol (cadena)
Especifica las correspondientes cabeceras de solicitud HTTP.
Por defecto:set http:cachecontrol “”
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:postcontenttype (cadena)
Especifica el valor de ContentType en la cabecera de solicitud http para el método POST.
Por defecto:set http:postcontenttype application/xwwwformurlencoded
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:putmethod (PUT o POST)
Especifica el método http a usar en put.
Por defecto:set http:putmethod PUT
http:putcontenttype (cadena)
Especifica el valor de ContentType en la cabecera de solicitud http para el método PUT.
Por defecto:set http:putcontenttype “”
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:setcookies (booleano)
Si verdadero, lftp modifica las variables http:cookie cuando la cabecera SetCookie es recibida.
Por defecto:set http:setcookies no
http:usemkcol (booleano)
Configurado en off, lftp intentará usat `PUT’ en vez de `MKCOL’ para crear directorios con el
protocolo httpl.
Por defecto:set http:usemkcol yes
http:usepropfind (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:usepropfind no
62
http:useragent (cadena)
La cadena que lftp envia en la cabecera UserAgent header de la solicitud HTTP
Por defecto:set http:useragent 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 –nodereference
Por defecto:set mirror:dereference no
mirror:excluderegex (regex)
Especifica un patrón de exclusión por defecto. Puede sobreescribirse con la opción –include .
Por defecto:set mirror:excluderegex “(^|/)(\\.in\\.|\\.nfs)”
mirror:includeregex (regex)
Especifica un patrón de inclusión por defecto. Es usado justo después que mirror:excluderegex sea
aplicado. No se usa nunca si mirror:excluderegex está vacio.
Por defecto:set mirror:includeregex “”
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:paralleldirectories (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:paralleldirectories yes
mirror:paralleltransfercount (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:paralleltransfercount 1
63
mirror:setpermissions (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:setpermissions yes
mirror:usepgetn (numero)
Especifica la opción n para el comando pget usado para ransferir cada archivo bajo mirror
Por defecto:set mirror:usepgetn 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:PKGLIBDIR’.
net:connectionlimit (número)
Máximo número de conexiones concurrentes en un mismo sitio. 0 significa ilimitadas.
Por defecto:set net:connectionlimit 0
net:connectiontakeover (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:connectiontakeover yes
net:idle (intervalo de tiempo)
Deconecta del servidor tras este tiempo de inactividad.
Por defecto:set net:idle 3m
net:limitrate (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:limitrate 0:0
net:limitmax (bytes)
Limita acumulando tasa límite no usada. 0 significa ilimitado.
Por defecto:set net:limitmax 0
64
net:limittotalrate (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:limittotalrate 0:0
net:limittotalmax (bytes)
Limita acumulando tasa límite máxima no usada. 0 significa ilimitado.
Por defecto:set net:limittotalmax 0
net:maxretries (numero)
El número máximo de intentos secuenciales sin éxito de una operación. 0 significa ilimitado.
Por defecto:set net:maxretries 4096
net:noproxy (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:noproxy “”
net:persistretries (numero)
Ignora este número de errores.
Por defecto:set net:persistretries 0
net:reconnectintervalbase (segundos)
Configura la míniba base de tiempo entre reconexiones.El intervalo actual depende de :reconnect
intervalmultiplier
y del número de intentos para formar una operación.
Por defecto:set net:reconnectintervalbase 30
net:reconnectintervalmax (segundos)
Configura el intervalo de reconexión máximo. Cuando el intervalo actual tras la multiplicación por
net:reconnectintervalmultiplier alcanza este valor (o lo excede), es reiniciado a net:reconnect
intervalbase.
Por defecto:net:reconnectintervalmax 600
net:reconnectintervalmultiplier (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:reconnectintervalbase y net:reconnectintervalmax.
Por defecto:set net:reconnectintervalmultiplier 1.5
65
net:socketbindipv4 (dirección ipv4)
Enlaza todos los sockets IPv4 a la dirección especificada.
Por defecto:set net:socketbindipv4 “”
net:socketbindipv6 (dirección ipv6)
Lo mismo para sockets IPv6 .
Por defecto:set net:socketbindipv6 “”
net:socketbuffer (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:socketbuffer 0
net:socketmaxseg (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:socketmaxseg 0
net:timeout (intervalo de tiempo)
Configura el protocolo de tiempo de espera (timeout).
Por defecto:set net:timeout 5m
pget:defaultn (numero)
Número de trozos en que partir el archivo en pget.
Por defecto:set pget:defaultn 5
pget:savestatus (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 .lftppgetstatus.
Por defecto:set pget:savestatus 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 UTF8.
Por defecto:set sftp:charset “” ( usa el set de caracteres del sistema)
66
sftp:connectprogram (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:connectprogram “ssh a x”
sftp:maxpacketsinflight (numero)
El número máximo de paquetes no contestados.
Por defecto:set sftp:maxpacketsinflight 16
sftp:protocolversion (numero)
El número de protocolo.
Por defecto:set sftp:protocolversion 4
sftp:serverprogram (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:connectprogram rsh
set sftp:serverprogram /usr/libexec/openssh/sftpserver
De forma similar puede usarse sftp sobre ssh1.
Por defecto:set sftp:serverprogram sftp
sftp:sizeread (numero)
Tamaño del bloque para lectura.
Por defecto:set sftp:sizeread 0×8000
sftp:sizewrite (numero)
Tamaño del bloque para escritura.
Por defecto:set sftp:sizewrite 0×8000
ssl:cafile (path al archivo)
Usa el archivo especificado como certificado (Certificate Authority) .
Por defecto:set ssl:cafile “”
ssl:checkhostname (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:checkhostname yes
67
ssl:capath (path a un directorio)
Usar el directorio especificado como repositorio de certificados (Certificate Authority).
Por defecto:set ssl:capath “”
ssl:crlfile (path a un archivo)
Usar el archivo especificado como certificado revocado (Certificate Revocation List) .
Por defecto:set ssl:crlfile “”
ssl:crlpath (path a un directorio)
Usar el directorio especificado como repositorio de certificados revocados (Certificate Revocation
List).
Por defecto:set ssl:crlpath “”
ssl:keyfile (path a un archivo)
Usar el archivo especificado como clave privada.
Por defecto:set ssl:keyfile “”
ssl:certfile (path a un archivo)
Usar el archivo especificado como certificado.
Por defecto:set ssl:certfile “”
ssl:verifycertificate (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:verifycertificate 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:destinationdirectory (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:destinationdirectory “” ( directorio en uso, no O)
xfer:etaperiod (segundos)
El periodo sobre el cual se calcula que la tasa promedio produce ETA
Por defecto:set xfer:etaperiod 120
68
xfer:etaterse (booleano)
Muestar ETA (solo partes importantes).
Por defecto:set xfer:etaterse yes
xfer:log (booleano)
Si verdadero, lftp relaciona ls transferencias en ~/.lftp/transfer_log.
Por defecto:set xfer:log yes
xfer:maxredirections (numero)
Número minimo de redirecciones.
Por defecto:set xfer:maxredirections 5
xfer:rateperiod (segundos)
El periodo sobre el cual se calcula la tasa promedio es calculada, para mostrarse.
Por defecto:set xfer:rateperiod 15