GUÍA
DE FTP
¿Qué es FTP?
FTP son las
siglas de File Transfer Protocol, Protocolo de Transferencia de Archivos. Un
programa de FTP es aquel que permite hacer transferencia de archivos entre
computadoras conectadas en una red.
¿Cómo conectarse?
Para conectarse
a una computadora por medio de FTP, esta debe estar corriendo un programa
servidor de FTP. Además, las dos computadoras a conectarse deben tener números
IP (números únicos que identifican máquinas en Internet).
Supongamos que
queremos conectarnos a una computadora desde DOS. El prompt se vería así:
C:>
Para ejecutar
el programa de FTP escribimos en el prompt FTP seguido del nombre de la máquina
a la que queremos conectarnos o su número IP:
C:>FTP merlin.cnba.uba.ar (por el nombre
de la máquina)
C:>FTP 157.92.75.11 (por el número
IP)
Ocurre lo
mismo si hacemos ftp desde una máquina UNIX, por ejemplo, desde TATU:
tatu:~$ ftp 157.92.75.11
Si no
especificamos el nombre o el número de IP de la computadora, aparecerá el
prompt de FTP:
ftp>
Este es un
prompt muy parecido al prompt de DOS, donde podremos ejecutar los comandos de
FTP para recibir, enviar, borrar archivos, crear directorios, etc. En el caso
anterior, no especificamos ninguna computadora, por lo cual ahora lo haremos
desde el prompt de FTP, con el comando OPEN, seguido del nombre o número IP de la
máquina a la cual queremos conectarnos.
ftp> open merlin.cnba.uba.ar
Si no hubo
problemas al tratar de conectarse con el servidor de FTP, este nos pedirá el
nombre de usuario y el password:
Connected to merlin.cnba.uba.ar.
220 merlin FTP server (Version
wu-2.4(1) Tue Aug 8 15:50:43 CDT 1995) ready.
User (merlin.cnba.uba.ar:(none)):
usuariox
331 Password required for usuariox.
Password:
230 User usuariox logged in.
ftp>
En este caso,
el nombre de usuario es “usuariox”. Es necesario entonces tener una cuenta de
usuario en esa computadora. Si no ingresamos correctamente el nombre de usuario
y el password, no podremos conectarnos.
A pesar de
esto, gran parte de los servidores deja conectarse a la gente como usuarios
anónimos, es decir, sin tener necesariamente una cuenta. Para eso, generalmente
hay que dar como nombre de usuario anonymous o ftp, y como password la
cuenta de e-mail de la persona que está tratado de conectarse. Esto no quiere
decir que luego se podrá tener acceso a los mismos archivos que con cualquier
cuenta. Por ejemplo, conectándose con un nombre usuario se tiene generalmente
acceso solamente a los archivos de ese usuario en particular, y no
necesariamente a los del resto.
Llamaremos
ahora a la máquina a la cual nos conectamos máquina remota, y desde la cual nos
conectamos, máquina local. Una vez conectados, aparece nuevamente el prompt
ftp. En el podemos ejecutar ahora más comandos, como por ejemplo:
Nos muestra el directorio actual de la máquina remota.
dir [directorio_remoto]
[archivo_local]
Nos muestra el listado de archivos del directorio de la
máquina remota (el servidor).
Si no se especifica el directorio remoto, el comando devolverá el listado de archivos del directorio actual.
Por ejemplo:
ftp>
dir *.doc
nos devolverá el listado de los archivos con terminación
“.doc” en el directorio actual.
Si ponemos también el argumento opcional [archivo local]
el listado de archivos será
dejado en el archivo especificado.
Equivalente a dir.
Cambia el directorio actual de la máquina remota. El
comando “cd” y el nombre del
directorio DEBEN estar separados por un espacio, como cualquier otro comando y sus argumentos. Por ejemplo, para ir al
directorio “padre” del
directorio actual, hay que escribir:
ftp>
cd ..
Para ir al directorio raíz:
ftp>
cd /
Hace lo mismo que cd, únicamente que cambia el directorio
en la máquina local.
Da una breve descripción del comando pedido.
Termina la conexión con la máquina remota y sale del
programa de FTP.
Equivalente a bye.
Termina la conexión con la máquina remota pero NO sale
del programa FTP, sino que nos
deja en el prompt de FTP. Para conectarse ahora con una máquina remota será necesario usar el comando open.
Hace lo mismo que close.
Invoca un “shell” en la máquina local (en nuestro caso,
nos dejaría en el prompt de DOS.
Luego podemos volver al programa de FTP escribiendo EXIT).
Veremos ahora los comandos
para esas tareas, como también otros para operar con archivos.
get archivo_remoto
[archivo_local]
Este comando copia el archivo especificado desde la
máquina remota a la máquina local,
con el mismo nombre que el original. Si se escribe el argumento opcional [archivo_local], el archivo se copiara con ese
nombre. Por ejemplo:
ftp> get readme.txt
(copiará
el archivo readme.txt desde la máquina remota hasta la máquina local).
ftp> get readme.txt
readme.doc
(lo
mismo que en el caso anterior, solo que en esta ocasión el archivo quedará como “readme.doc”).
Hace lo mismo que get, solo que en este caso puede
especificarse más de un archivo a
transferir, como por ejemplo:
ftp>
mget readme.*
(copiará todos los archivos desde la máquina
remota hasta la local cuyos
nombres comiencen con “readme”)
El programa de FTP pregunta archivo por archivo si se
quiere copiarlo.
put archivo_local
[archivo_remoto]
Este comando copia el archivo especificado desde la
máquina local a la máquina
remota, con el mismo nombre que el original. Si se escribe el argumento opcional [archivo_local], el
archivo se copiara con ese nombre. Por
ejemplo:
ftp> put file1.dat
(copiará
el archivo file1.dat desde la máquina local hasta la máquina remota).
ftp> put file1.dat
archivo1.dat
(lo
mismo que en el caso anterior, solo que en esta ocasión el archivo quedará como “archivo1.dat”).
Sinónimo de put.
Hace lo mismo que put, solo que en este caso puede
especificarse más de un archivo a
transferir, como por ejemplo:
ftp>
mput file*
(copiará todos los archivos desde la máquina
local hasta la remota cuyos
nombres comiencen con “file”)
El programa de FTP pregunta archivo por archivo si se
quiere copiarlo.
Activa o desactiva las preguntas sobre cada archivo
cuando se ejecutan los comandos mget,
mput
o mdelete.
Borra el archivo remoto especificado
Borra los archivos remotos especificados. Por ejemplo:
ftp>
mdelete *.txt
(Borra todos los archivos que terminen con “.txt” de la
máquina remota)
Deja el tipo de transferencia de archivos en ASCII (útil
cuando se transmiten archivos de
texto). Es el seteo por defecto.
Deja el tipo de transferencia de archivos en binario
(necesario cuando se quieren
transferir archivos binarios, como imágenes gráficas, programas ejecutables, etc.)
Activa
o desactiva la escritura del carácter “#” durante la transferencia de archivos. Generalmente se escribe uno
cada 1024 bytes.
Crea un directorio en la máquina remota. Por ejemplo:
ftp>
mkdir public
(Crea un directorio llamado “public” en la máquina
remota.)
Borra el directorio especificado en la máquina remota.
Por ejemplo
ftp>
rmdir temp
(Borra el directorio “temp” de la máquina remota.)
append arhivo_local
[arhivo_remoto]
Anexa
el archivo local un archivo de la máquina remota. Si no se especifica el argumento [arhivo_remoto], el archivo
remoto al cual se anexará el archivo
local tendrá el mismo nombre que el último.
reget archivo_remoto
[archivo_local]
Hace lo mismo que get, excepto que si el archivo local existe
y es más chico que el archivo remoto, el comando asume que el archivo local es
solo una parte del archivo remoto, y por lo tanto hace la transferencia a
partir del “corte”. Este comando es útil cuando se transfieren archivos grandes
en redes donde las conexiones tienden a cortarse.
rename [archivo_remoto] [nuevo_nombre]
Renombra el archivo remoto.
Devuelve el tamaño del archivo remoto especificado.
Ejemplo de Sesión de FTP
Veamos un
ejemplo de sesión de FTP. A partir de ahora, veremos los nombres de archivo y
el texto que veremos en la sesión de FTP en este tipo de letra. El texto en negrita representa lo que escribimos nosotros. El
resto son los mensajes que recibimos del servidor. Supongamos que queremos
conectarnos al servidor “tatu.cnba.uba.ar”, y nuestro usuario se llama “pepe”. Queremos
sacar del servidor estos archivos:
foto1.jpg
foto2.jpg
texto.doc
y luego dejar
en el servidor en un directorio llamado “txt” el archivo:
readme.txt
Lo primero que
hay que hacer es conectarse:
ftp tatu.cnba.uba.ar
Connected to tatu.cnba.uba.ar.
220 merlin FTP server (Version
wu-2.4(1) Tue Aug 8 15:50:43 CDT 1995) ready.
User (tatu.cnba.uba.ar:(none)): pepe
331 Password required for pepe.
Password:
230 User pepe logged in.
ftp>
Ahora vamos a
“traer” los archivos. Dado que foto1.jpg y foto2.jpg tienen la misma extensión, podemos usar mget. Estos archivos son
binarios, por lo tanto habrá que poner antes el comando bin.
Bin
200 Type set to I.
mget *.jpg
Nos pregunta
si deseamos copiar el archivo foto1.jpg. Debemos apretar y (si) o n (no).
mget foto1.jpg? y
200 PORT command successful.
150 Opening BINARY mode data connection
for foto1.jpg (3 bytes).
226 Transfer complete.
3 bytes received in 0.11 seconds (0.03
Kbytes/sec)
mget foto2.jpg? y
200 PORT command successful.
150 Opening BINARY mode data connection
for foto2.jpg (3 bytes).
226 Transfer complete.
3 bytes received in 0.00 seconds
(3000.00 Kbytes/sec)
Ahora copiamos
el otro archivo (texto.doc) con el comando get.
get texto.doc
200 PORT command successful.
150 Opening ASCII mode data connection
for texto.doc (3 bytes).
226 Transfer complete.
4 bytes received in 0.00 seconds
(4000.00 Kbytes/sec)
La otra cosa
por hacer es crear un directorio “txt” y copiar allí el archivo readme.txt.
mkdir txt
257 MKD command successful.
Entramos en el
directorio txt:
cd txt
250 CWD command successful.
Y copiamos el
archivo desde la máquina local al servidor :
put readme.txt
200 PORT command successful.
150 Opening BINARY mode data connection
for readme.txt.
226 Transfer complete.
43 bytes sent in 0.00 seconds (43000.00
Kbytes/sec)
Ahora usemos ls
para ver el listado de archivos del directorio y comprobar que todo salió
correctamente:
ls
200 PORT command successful.
150 Opening ASCII mode data connection
for file list.
readme.txt
226 Transfer complete.
12 bytes received in 0.00 seconds
(12000.00 Kbytes/sec)
WS_FTP (Windows Sockets FTP)
WS_FTP es uno
de los programas de FTP más usados en el entorno Windows. Anteriormente
estuvimos usando un programa FTP de “linea de comando”, es decir, hay que
escribir los comandos para poder hacer operaciones con archivos.
El WS_FTP nos
permitirá hacer lo mismo pero de una manera más simple, solo presionando
botones.
Una vez que
ejecutamos el WS_FTP aparecerá en la pantalla una ventana como esta :

Lo primero que
hay que hacer es llenar la información sobre el servidor al cual nos queremos
conectar y todo lo referente al usuario (nombre, password). Aquí hay una breve
descripción de las opciones:
Host Name: Aquí hay que especificar
el nombre o el número de IP de la máquina a la cual nos queremos conectar.
Host Type: El tipo de servidor al
cual nos conectaremos. Conviene siempre dejar esta opción en “Automatic
Detect”.
User ID: Hay que poner el nombre de
usuario.
Password: El password del usuario
especificado en el casillero anterior. Si está seleccionada la opción
“Anonymous Login” (tiene un tilde al lado) podremos ver el password mientras lo
escribimos. En caso contrario, solo aparecerán asteriscos (*****). Si no
ponemos ningún password, nos lo pedirá el programa al conectarnos al servidor
que especificamos en “Host Name”.
Initial directories:
Remote
Host: Especifica el directorio inicial en la máquina
remota al conectarnos.
Local PC:
Especifica el directorio inicial de la máquina local.
Anonymous login: Como se dijo antes,
seleccionando esta opción pondrá automáticamente en el casillero de “USER ID”
la palabra “anonymous” y en el casillero de “Password” nuestra cuenta de
e-mail.
Save password: Esta opción guarda el
password que escribimos para que no sea necesario volver a especificarlo cada
vez que usamos el programa.
Profile Name: Aquí podemos
tener guardados distintos “nombres” para cada uno de los servidores a los
cuales nos conectamos. Cada “profile” guarda el nombre del servidor, el nombre
de usuario, etc. Es decir, las opciones explicadas anteriormente. Con los
botones de New, Save y Delete podemos respectivamente crear, guardar y borrar
“nombres” para las conexiones.
Advanced...: Este botón nos permite
acceder a las opciones más avanzadas del programa.
Una vez que
llenamos estos datos apretamos el botón de “Ok” y veremos una ventana como
esta:
Vemos que esta
ventana está dividida principalmente en cuatro partes:
·
Una serie de botones
en la parte superior (1).
·
Listado de archivos y
directorios de la máquina local (2).
·
Listado de archivos y
directorios de la máquina remota (3).
·
Dos botones para
copiar archivos de la máquina remota a la local o viceversa (equivalentes a los
comandos get
y put,
vistos anteriormente) (4).
·
Opciones para el tipo
de transferencia (Binaria, ASCII o L8) (5)
·
Un recuadro con dos
líneas de texto que nos informa el estado de las operaciones que estamos
haciendo o ya hicimos (6).
(1) Los
botones en la parte superior de la ventana son:
Connect: Abre la ventana
que se explicó anteriormente, para llenar los datos del usuairo y del servidor.
Si ya estamos conectados a alguna máquina, este botón aparecerá como Close,
y nos terminar la conexión con el servidor.
Cancel: Cancela la
operación que estamos haciendo (copiando archivos, listando un directorio,
etc.)
LogWnd: Abre una ventana
que nos muestra todos los mensajes que aparecieron en las dos líneas de texto
en la parte inferior de la ventana.
Help: Abre el archivo de
ayuda del programa.
Options: Nos deja modificar
todas las opciones del programa, tales como la información del usuario
About: Información sobre el autor del programa.
Exit: Sale del programa.
Conviene desconectarse del servidor (con el botón Close) antes de hacer esto.
(2) y (3)
Listado de archivos y directorios:
Botones para operar
con Archivos
|
|
Botones para operar
con Directorios
|
|

