Tutorial de FTP

Para ingresar al cliente de FTP inseguro (solo recomendado para contactar a equipamiento publico antiguo desde texto-plano.xyz), ingresa el comando:

ftp

...o bien si deseas ejecutar el modo de FTP seguro (recomendado), podras utilizar:

sftp

Al ingresar al programa cliente de FTP, el prompt del interprete de comandos cambiara a ftp> o bien sftp> para indicarte que estas dentro del cliente en modo inseguro o en modo seguro, respectivamente.

Lo siguiente sera conectarte (o en la jerga, "abrir") un servidor remoto de FTP. Introduce en el prompt ftp> el comando open seguido de la direccion del servidor de hospedaje. En caso de un FTP publico podrias utilizar:

ftp> open servidor.remoto

Los servidores de acceso publico a menudo solicitan contrasena de anonimo. En tal caso, ingresa el nombre de usuario anonymous y como contrasena password, indica tambien anonymous.

En caso que utilices un servidor asegurado con permisos de entrada las diferencias son minimas; lo indicado en pantalla seria:

sftp> open usuario@servidor

En ambos casos, el cliente intentara establecer el enlace. De lograrlo, el servidor remoto suele presentarse con un indicador de status, y en caso de ser un FTP seguro, podria solicitarnos nuestro usuario y contrasena del servidor.

Esto nos indica el modo de transferencia establecido por el protocolo FTP. El mas normal es modo binary, que asegura control de transferencia. El otro sistema disponible es el modo ascii, normalmente utilizado para transferencias tipo texto o principalmente para el ordenes de los comandos para el servidor remoto.

Normalmente el clientes FTP conmuta automaticamente estos modos de transferencia de acuerdo a la necesidad de lo realizado.

Algunos sitios FTP para probar

URL Sitio
ftp.gnu.org Servidor FTP del Proyecto GNU
ftp.rediris.es Red Academica IRIS (Espana)
ftp.dcc.uchile.cl Dpto. de Cs. de la Computacion de la Universidad de Chile
ftp.oldskool.org Servidor de la Red de Datos de PC Oldskool
ftp.scene.org Servidor de arte electronico
ftp.ifarchive.org Servidor del Archivo de Ficcion Interactiva
ftp.funet.fi Red Universitaria de Investigacion Finlandesa
ftp.sunet.se Red Informatica Universitaria Sueca
ftp.ucsd.edu Universidad de California San Diego

Comandos FTP

Una vez que estes enlazado al servidor de FTP, podras utilizar los comandos de operacion que suelen ser los operaciones similares a UNIX o del interprete de comandos de Windows. Estos comandos intrinsecos son numerosos y tienen una equivalencia numerica, la cual es empleada por el programa cliente local y el servidor remoto para intercomunicarse.

En el caso de los clientes FTP de terminal, es buena costumbre revisar siempre cual es el directorio de trabajo actual con pwd, pues el prompt de FTP es bastante menos potente que un interpretes de comandos tipico, y como tal no suele ser explicito en mostrarlo. Para ello introduce el comando:

sftp> pwd

El servidor FTP devolvera cual es el directorio de trabajo en el cual estas colocado. Si deseas ver un listado del los ficheros contenidos en tal directorio de trabajo actual, deberas ingresar ls:

sftp> ls

...o el sistema FTP Windows el comando equivalente dir.

Por convencion y costumbre, la estructura de ficheros tradicional de los servidores FTP replica la de UNIX, y podremos encontrar generalmente un directorio de acceso publico llamado pub/.

Podras cambiar el directorio actual con cd. Por ejemplo:

sftp> cd directorio/

...o volver un nivel con:

sftp> cd ..

Estos comandos de cambio de directorio de trabajo ("CWD"), deberian provocar un reconocimiento por parte del servidor en forma del mensaje "250 CWD command successful".

Si quisieras descargar un fichero a traves FTP, utiliza el comando get (en la jerga, "obtener") para solicitarlo. Por ejemplo:

sftp> get fichero.txt

Esto descargara en el directorio de trabajo (si hubieses iniciado la sesion de FTP desde tu carpeta de usuario, el fichero se almacenaria en tu /home/$USER).

La descarga se producira a la mayor velocidad acordada entre el cliente y el servidor remoto de FTP. Asimismo, se podria presentar un indicativo de status:

Para enviar un fichero al servidor FTP remoto, debes emplear el comando put ("colocar").

sftp> put fichero.local /directorio/remoto/archivo.remoto

Naturalmente, en este caso el fichero.local se almacenaria como archivo.remoto en el directorio /directorio/remoto/. Este ya deberia existir y en caso de usar SFTP deberiamos contar con permisos de escritura en el mismo.

Si no fuese este el caso, podrias omitir tales parametros:

sftp> put fichero.local

...y de esta forma fichero.local se enviara con dicho nombre en la carpeta raiz del servidor.

Conforme has finalizado de transferir ficheros, debes instruir al cliente para que corte la comunicacion con la sesion de FTP. Para ello ingresa el comando quit ("salir"):

sftp> quit

....y el servidor podria indicar un resumen de la sesion de conexion a traves del comando 221 de FTP, y regresarte a nuestro prompt del interprete de comandos de sistema.

221-
    Data traffic for this session was 39 bytes in 1 file.
    Total traffic for this session was 7868 bytes in 3 transfers.
221 Thank you for using the FTP service on servidor.org.

Comandos avanzados FTP

Si bien FTP cuenta con multiples comandos, varios de ellos pueden variar de acuerdo al sistema de base del servidor remoto. Sin embargo, la mayoria de ellos son estandarizados. Algunos de los mas empleados son:

Comando FTP Resultado
status Presenta la configuracion del cliente
type Presenta el Tipo de transmision
bin Conmuta el Tipo de transmision en binario (recomendado)
ascii Conmuta al Tipo de transmision de texto
get Solicita una copia del archivo al servidor remoto.
send Envia un archivo al servidor remoto
user Inicia una sesion con usuario distinto (solo en SFTP)
rename renombra un archivo remoto.
delete borra los archivos remotos.
rmdir borra un directorio remoto
close Corta la comunicacion con el servidor FTP pero no sale del cliente

Conclusion

Aunque actualmente esta rapidamente siendo reemplazado por el protocolo de Shell Seguro SSH (especialmente scp), nunca viene mal dominar el empleo de la consola para encaramarnos a sistemas remotos y transferirnos o recuperar archivos desde ellos. FTP permite hacerlo desde La terminal usando minimos recursos.