Introducción
FTP (Protocolo de transferencia de archivos) es un protocolo de red estándar que se utiliza para transferir archivos desde y hacia una red remota.
En este tutorial, le mostraremos cómo usar el comando ftp en Linux a través de ejemplos prácticos.
En la mayoría de los casos, se utilizará un cliente FTP de escritorio para conectarse al servidor remoto y descargar o cargar archivos. Sin embargo, el ftp
es útil cuando está trabajando en un servidor sin una GUI y desea transferir archivos a través de FTP hacia o desde un servidor remoto.
Prerrequisitos
Al transferir datos a través de ftp, la conexión no está encriptada. Para una transferencia de datos segura, use SCP.
Debe tener al menos permisos de lectura en el archivo de origen y permisos de escritura en el sistema de destino para transferir archivos.
Al transferir archivos grandes, se recomienda que ejecute el comando sftp dentro de una pantalla o sesión tmux.
El directorio desde el que ftp
es el directorio de trabajo local.
Establecer una conexión FTP
Para abrir una conexión ftp a un sistema remoto, use el ftp
seguido de la dirección IP o el nombre de dominio del servidor remoto:
ftp 192.168.43.55
Si se establece la conexión, se mostrará un mensaje de confirmación y se le pedirá que ingrese el nombre de usuario de FTP, en este ejemplo, el nombre de usuario de FTP es noviello
:
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 1 of 50 allowed.
220-Local time is now 21:35. Server port: 21.
220-This is a private system - No anonymous login
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
Name (192.168.43.55:localuser): noviello
Puede aparecer un mensaje de confirmación diferente según el servicio FTP que se esté ejecutando en el servidor remoto.
Una vez que haya ingresado su nombre de usuario, se le pedirá que ingrese su contraseña:
Password:
Si la contraseña es correcta, el servidor remoto mostrará un mensaje de confirmación y el mensaje cambiará a ftp>
, así:
230 OK. Current restricted directory is /Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
Si el servidor FTP en el que inicia sesión acepta cuentas ftp anónimas y desea iniciar sesión como usuario anónimo, utilice anonymous
como nombre de usuario y su dirección de correo electrónico como contraseña.
Descarga de archivos con el comando FTP
Una vez que haya iniciado sesión, el directorio de trabajo actual es el directorio de inicio del usuario remoto.
Al descargar archivos con el ftp
, los archivos se descargarán al directorio desde el que se escribió el comando ftp
Si desea descargar los archivos a otro directorio local, cámbielo usando el comando lcd
Digamos que queremos descargar los archivos al directorio ~/ftp_downloads
lcd ~/ftp_downloads
Para descargar un solo archivo desde el servidor remoto, use el get
Por ejemplo, para descargar un archivo llamado backup.zip
use el siguiente comando:
get backup.zip
La salida debería verse así:
200 PORT command successful
150-Connecting to port 60609
150 6516.9 kbytes to download
226-File successfully transferred
226 2.356 seconds (measured here), 2.70 Mbytes per second
6673256 bytes received in 2.55 seconds (2.49 Mbytes/s)
Para descargar varios archivos a la vez, utilice el mget
. Puede proporcionar una lista de nombres de archivos individuales o utilizar caracteres comodín.
mget backup1.zip backup2.zip
Al descargar varios archivos, se le pedirá confirmación para cada archivo.
mget backup1.zip? y
200 PORT command successful
150 Connecting to port 52231
226-File successfully transferred
226 0.000 seconds (measured here), 31.51 Kbytes per second
14 bytes received in 0.00058 seconds (23.6 kbytes/s)
mget backup2.zip? y
200 PORT command successful
150-Connecting to port 59179
150 7.2 kbytes to download
226-File successfully transferred
226 0.000 seconds (measured here), 16.68 Mbytes per second
7415 bytes received in 0.011 seconds (661 kbytes/s)
Una vez que haya terminado de descargar archivos desde el servidor FTP remoto, cierre la conexión con bye
o quit
.
quit
221-Goodbye. You uploaded 0 and downloaded 6544 kbytes.
221 Logout.
Cargar archivos con el comando FTP
Para cargar un archivo desde un directorio local a un servidor FTP remoto, use el comando put
put image.jpg
La salida debería verse así:
200 PORT command successful
150 Connecting to port 34583
226-File successfully transferred
226 0.849 seconds (measured here), 111.48 Kbytes per second
96936 bytes sent in 0.421 seconds (225 kbytes/s)
Si desea cargar un archivo que no está en el directorio de trabajo actual, use la ruta absoluta al archivo.
Para cargar varios archivos desde un directorio local a un servidor FTP remoto, use el comando mput
mput image1.jpg image2.jpg
mput image1.jpg? y
200 PORT command successful
150 Connecting to port 41075
226-File successfully transferred
226 1.439 seconds (measured here), 102.89 Kbytes per second
151586 bytes sent in 1.07 seconds (138 kbytes/s)
mput image2.jpg? y
200 PORT command successful
150 Connecting to port 40759
226-File successfully transferred
226 1.727 seconds (measured here), 111.75 Kbytes per second
197565 bytes sent in 1.39 seconds (138 kbytes/s)
Al cargar varios archivos, se le pedirá que confirme cada archivo que desee cargar.
Una vez que haya terminado de cargar archivos en el servidor FTP remoto, cierre la conexión con bye
o quit
.
Comandos FTP comunes
Muchos comandos FTP son similares o idénticos a los comandos que escribe en la línea de comandos de Linux.
Estos son algunos de los comandos FTP más comunes.
help
o?
- lista todos los comandos FTP disponibles.cd
: cambia el directorio en la computadora remota.lcd
: cambia el directorio en la computadora local.ls
: enumera los nombres de archivos y directorios en el directorio remoto actual.mkdir
: crea un nuevo directorio en el directorio remoto actual.pwd
: imprime el directorio de trabajo actual en la computadora remota.delete
: elimina un archivo en el directorio remoto actual.rmdir
: elimina un directorio en el directorio remoto actual.get
: copia un archivo de forma remota a la computadora local.mget
: copia varios archivos de forma remota a la computadora local.put
: copia un archivo de forma remota a la computadora remota.mput
: copia un archivo del equipo local al remoto.
Conclusión
En este tutorial, aprendió a usar el comando ftp para descargar y cargar archivos a su servidor FTP remoto.