-- - [ FTP en el Intérprete de Comandos del SDF-1 ] - --

El protocolo FTP es robusto, pero está originado en la primer era de las comunicaciones telemáticas. Sus comandos intrínsecos son numerosos y tienen una equivalencia numérica, la cual es empleada por el programa cliente y el servidor para intercomunicarse. Como usuarios - en tanto - podremos emplear esta serie de comandos estandarizados para realizar las tareas de envío, recepción, revisión del status de comunicación a través de la terminal del sistema.

Nunca viene mal dominar el empleo de la consola para encaramarnos a sistemas remotos y trasferirnos o recuperar archivos desde ellos. La terminal usa mínimos recursos para ello.

bin     Modo binario para los archivos a recibir (recomendado)
ascii   Modo texto para los archivos a recibir
get     pide una copia del archivo remoto.
send    envía un archivo al servidor
rename  renombra un archivo remoto
dele    borra los archivos remotos.
rmdir   borra un directorio remoto

Por ejemplo, podremos abrir una terminal y conectarnos con el medio requerido. En Ubuntu podremos abrir una terminal con Ctrl+Alt+t y entrar cliente sftp (recomendado). Lo haremos por medio de:

sftp

..o s queremos el modelo seguro (recomendado), usaremos simplemente

ftp

Al ingresar a nuestro programa cliente de FTP, nuestro prompt del intérprete de comandos cambiará para indicarnos el cliente:

sftp>

Esto indica que estamos operando desde el cliente de FTP. Lo siguiente será utilizar el cliente que hemos activado para conectarnos al servidor remoto de FTP. Ello lo haremos ingresando en el prompt ftp> el comando open, seguido de la dirección del servidor. En caso de un FTP público sería:

sftp> open servidor.remoto

..o bien, si se trata de un servidor con permisos de entrada, sería:

sftp> open usuario@servidor

El cliente intentará conectarse. Al establecer la conexión podría mostrarse un indicador de status si es que el servidor cuenta con el mismo, y solicitarnos el usuario y contraseña del servidor (si el servidor requiere entrada). Por ejemplo:

connected to sdf.org
 220 ftp.sdf.org GTP server (sdf.org) ready.
name (sdf.org): montoto
331 User montoto accepted, provide password for [email protected]
Password:   ********
200#

230 User montoto logged in.
Remote system type is UNIX.
Using binary mode to transfer files.

Esto nos indica el modo de transferencia establecido por el protocolo FTP. El más normal es sistema binary, que nos asegura control de transferencia. El otro modo disponible es el sistema ascii, que nos normalmente se usa para transferencias tipo texto o principalmente para el órdenes de los comandos que dirigiremos al servidor remoto. Los clientes de FTP modernos conmutan automáticamente estos modos de transferencia de acuerdo a la necesidad de lo realizado.

Conforme estemos contectados y dentro del servidor de FTP, podremos utilizar los comandos de operación que suelen ser los operaciones similares a UNIX o del intérprete de comandos de Windows. En el caso de los clientes FTP más simples, es una buena costumbre revisar siempre cuál es nuestro directorio de trabajo actual, pues el prompt de FTP no suele presentarlo explícitamente. A tal fin  usamos el comando:

sftp> pwd

..el sistema nos devolverá cuál es nuestro directorio de trabajo actual. Si queremos ver un listado del los ficheros contenidos en el directorio de trabajo actual, debemos ingresar:

sftp> ls

..o el sistema FTP Windows el comando equivalente es dir, para listar un directorio.


Asismismo, podremos subir en los directorios con

sftp> cd directorio/

..o volver al nivel superior en la estructura de árbol de directorios con:

sftp> cd ..

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

Si quisiéramos descargar un fichero utilizando el protocolo FTP, utilizamos el comando get ("obtener"). Por ejemplo:

sftp> get archivo.txt

Esto lo descargará en nuestro directorio de trabajo (normalmente la carpeta /home si iniciamos la sesión de FTP desde allí).

La descarga será instantánea (o la mayor velocidad acordada entre nuestro cliente y el servidor). Asimismo, se nos podría presentar un indicativo de status:

ftp> get fichero.txt

ocal: fichero.txt remote: fichero.txt
200 PORT command successful.
250 Opening BINARY mode data connection for 'fichero.txt' (84 bytes)
226 Transfer complete.
84 bytes received in 0.12 seconds.

Para subir un fichero utilizando el protocolo FTP, empleamos el comando put.

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

Naturalmente, en este caso el archivo.local se guardará como archivo.remoto en el directorio /directorio/remoto/, el cual debe existir y deberíamos contar con permisos de escritura en el mismo. Si ese no es el caso, podríamos omitir tales parámetros: