FTP es un protocolo de red simple y fácil de usar, usado principalmente para la transferencia de archivos entre maquinas, pc’s, smartphones, y cualquier sistema conectado a una red TCP, que este basado en una arquitectura cliente-servidor.
Para explicarnos mejor… desde un equipo cliente posibilita la conexión a un servidor para poder descargar archivos o para enviarle archivos. Es indiferente el sistema operativo que use cada equipo, lo indispensable es que este conectado a la red TCP.
Los sistemas operativos Linux y Unix tienen instrucciones de línea de comando ya integradas que puedes usar como cliente FTP para realizar una conexión. Y eso es lo que veremos en este articulo de hoy.
Un apunte: Debes de tener claro que una transmisión FTP no está encriptada. Si fuera indispensable la encriptación deberías usar otros protocolos, por ejemplo SFTP.
Conectar a un servidor con el comando FTP
Conectarte a un ftp desde linea de comandos es muy simple, ademas puedes usar la IP o directamente el host (en el ejemplo nos conectamos a una universidad española, concretamente al ftp de la Universidad de Vigo).
Por FTP:
1 2 3 4 5 | sergio@linux-sis09:~> ftp ftp.uvigo.es Trying 193.146.32.74:21 ... Connected to ftp.uvigo.es. 220 Servidor FTP Anonimo da Universidade de Vigo Name (ftp.uvigo.es:sergio): |
Por IP:
1 2 3 4 | sergio@linux-sis12:~> ftp 193.146.32.74 Connected to 193.146.32.74. 220 Servidor FTP Anonimo da Universidade de Vigo Name (193.146.32.74:sergio): |
Si el servidor requiere «User» y Password» te los solicitara.
Ejemplos de uso del comando FTP
Para enumerar los comandos que puedes usar utiliza help.
1 | ftp> help |
Imprimir los nombres de carpetas y archivos.
1 | ftp> ls |
Cambia del directorio que estamos al subdirectorio clientes (solo en caso de que exista).
1 | ftp> cd customers |
Salta del directorio donde te encuentres al principal.
1 | ftp> cdup |
Cambia el directorio actual a la carpeta local imágenes, o la que elijas.
1 | ftp> lcd [images] |
Cambia al modo ASCII para transferir archivos de texto.
1 | ftp> ascii |
Cambia a modo binario para transferir archivos comunes que no sean de texto.
1 | ftp> binary |
Descargar imagen a tu sistema local.
1 | ftp> get imagen.jpg |
Cargar imagen de tu sistema local al servidor FTP.
1 | ftp> put imagen.jpg |
Descargar todas las imágenes.
1 | ftp> mget *.jpg |
Modificar el nombre de un archivo.
1 | ftp> rename [from] [to] |
Guardar un archivo local en el servidor remoto.
1 | ftp> put local-file [remote-file] |
Subir todos los jpg al servidor remoto.
1 | ftp> mput *.jpg |
Eliminar un archivo (en este caso remote-file).
1 | ftp> delete remote-file |
Eliminar todas las imágenes jpg.
1 | ftp> mdelete *.jpg |
Averiguar el tamaño de un archivo.
1 | ftp> size archivo |
Crear un nuevo directorio.
1 | ftp> mkdir mi-directorio |
Activa o desactiva el modo interactivo, de manera que los comandos se ejecuten en múltiples archivos sin requerir la confirmación del usuario.
1 | ftp> prompt |
Cerrar sesión FTP.
1 | ftp> quit |
Opciones del comando FTP:
- -4 Usar IPv4 al contactar con un host
- -6 Usar IPv6
- -e Deshabilita la compatibilidad con el historial y la edición de comandos
- -p Usar modo pasivo para las transferencias de datos
- -i Desactivar la función interactiva durante las transferencias de archivos
- -n Impedir el inicio de sesión automático en la primera conexión
- -g Desactivar el nombre de archivo globbing
- -v Obligar al servidor de eliminación a mostrar todas las respuestas
- -d Ordena la depuración