Comandos FTP: referencia de cliente y protocolo
Todos los comandos FTP en un solo lugar: los comandos de los clientes de línea de comandos que escribes en ftp.exe de Windows, en macOS o en Linux (get, put, mget, bye), y los comandos brutos del protocolo RFC 959 a los que se traducen en la red.
Actualizado en julio de 2026
Comandos del cliente FTP de línea de comandos
Estos comandos funcionan en los clientes FTP interactivos incluidos en Windows (ftp.exe), macOS y Linux. Inicia una sesión con ftp nombrehost (o con open nombrehost desde el símbolo ftp>) y después usa los comandos de abajo. Para una guía completa en Windows, con scripts incluidos, consulta FTP desde la línea de comandos en Windows.
Sesión y conexión
| Comando | Qué hace | Ejemplo |
|---|---|---|
open | Conecta con un servidor FTP (pide nombre de usuario y contraseña). | open ftp.example.com |
user | Vuelve a iniciar sesión, o lo hace como otro usuario, en la conexión abierta. | user alice |
close / disconnect | Termina la conexión con el servidor pero no cierra el programa FTP. | close |
bye / quit | Cierra la conexión y sale del programa FTP. | bye |
status | Muestra los ajustes de la sesión actual (modo, tipo, conmutadores). | status |
! | Pasa al intérprete de comandos local; escribe exit para volver a ftp>. | !dir |
Descargar y subir
| Comando | Qué hace | Ejemplo |
|---|---|---|
get / recv | Descarga un archivo del servidor. | get report.pdf |
put / send | Sube un archivo al servidor. | put backup.zip |
mget | Descarga varios archivos (se admiten comodines). | mget *.log |
mput | Sube varios archivos (se admiten comodines). | mput *.html |
append | Añade un archivo local al final de un archivo del servidor. | append part2.txt log.txt |
delete | Elimina un archivo del servidor. | delete old.bak |
mdelete | Elimina varios archivos del servidor (se admiten comodines). | mdelete *.tmp |
rename | Cambia el nombre de un archivo del servidor. | rename a.txt b.txt |
Explorar directorios
| Comando | Qué hace | Ejemplo |
|---|---|---|
dir / ls | Lista los archivos del directorio remoto actual. | dir |
cd | Cambia el directorio remoto. | cd /public_html |
lcd | Cambia el directorio local que se usa para las transferencias. | lcd C:\Downloads |
pwd | Muestra el directorio remoto actual. | pwd |
mkdir | Crea un directorio en el servidor. | mkdir images |
rmdir | Elimina un directorio vacío del servidor. | rmdir old-site |
Ajustes de transferencia y conmutadores
| Comando | Qué hace | Ejemplo |
|---|---|---|
binary | Cambia al modo binario (imagen): úsalo para archivos zip, imágenes, ejecutables y medios. Actívalo siempre antes de descargar archivos que no sean de texto. | binary |
ascii | Cambia al modo de texto ASCII (conversión de fin de línea). Es el valor predeterminado en muchos clientes. | ascii |
prompt | Activa o desactiva la confirmación por archivo en mget/mput/mdelete. | prompt |
hash | Imprime una # por cada bloque transferido: una barra de progreso de andar por casa. | hash |
verbose | Activa o desactiva la visualización de las respuestas del servidor. | verbose |
literal / quote | Envía un comando bruto del protocolo (ver la tabla de abajo) directamente al servidor. | literal SYST |
remotehelp | Pregunta al servidor qué comandos de protocolo admite. | remotehelp |
help / ? | Lista los comandos del cliente, o explica uno de ellos. | help mget |
Una sesión típica
C:\> ftp ftp.example.com Connected to ftp.example.com. User: alice Password: ******** ftp> binary 200 Type set to I. ftp> cd /backups 250 CWD command successful. ftp> hash Hash mark printing On. ftp> get site-backup.zip 226 Transfer complete. ftp> mput *.log mput access.log? y 226 Transfer complete. ftp> bye 221 Goodbye.
¿Trabajas a través de SSH? El cliente sftp de OpenSSH usa un conjunto de comandos parecido pero distinto: consulta la referencia de comandos SFTP. Y si el servidor rechaza la conexión por completo, descarta primero los problemas de red con el probador de conexión FTP.
Comandos brutos del protocolo FTP (RFC 959)
Son los comandos que los clientes FTP envían realmente por la conexión de control: útiles al leer los registros del servidor, al depurar con literal/quote o al implementar FTP tú mismo. Busca o filtra por categoría.
Sobre los comandos FTP
El cliente envía los comandos del protocolo FTP al servidor por la conexión de control (el puerto 21 de forma predeterminada). El servidor responde con un código de estado de tres dígitos. El protocolo básico está definido en la RFC 959, y sus extensiones en las RFC 2228, 2389, 2640, 3659 y 4217.
¿Buscas el significado de los códigos de respuesta del servidor? Consulta la herramienta Búsqueda de códigos de respuesta FTP.
Preguntas frecuentes
Sí. El clásico cliente FTP de línea de comandos viene con Windows 11 y Windows 10: abre el Símbolo del sistema o PowerShell y escribe ftp para iniciarlo. Solo admite FTP sin cifrar, así que no puede conectarse a servidores SFTP ni FTPS.
El ftp.exe de Windows solo admite el modo activo, en el que el servidor se conecta de vuelta a tu PC en cada transferencia de datos. La mayoría de los routers domésticos y los cortafuegos corporativos bloquean esas conexiones entrantes, por lo que los listados de directorios y las transferencias se quedan colgados tras el inicio de sesión. Los clientes que admiten el modo pasivo (PASV), es decir, prácticamente todos los clientes FTP gráficos, evitan el problema.
Los comandos de cliente como get, put, mget y bye son los que escribes en un programa FTP de línea de comandos. El programa los traduce a los comandos brutos del protocolo (RETR, STOR, PASV, QUIT) definidos en la RFC 959, que son los que realmente viajan hasta el servidor. Por ejemplo, escribir get report.pdf envía en segundo plano TYPE I, PASV o PORT y RETR report.pdf.
No. El ftp.exe de Windows solo habla FTP sin cifrar. Para SFTP necesitas el comando sftp de OpenSSH (también integrado en Windows 10 y 11) o un cliente que lo admita. Para FTPS (FTP sobre TLS) necesitas un cliente con TLS explícito o implícito: ftp.exe no tiene ninguno de los dos.
Pon un comando por línea en un archivo de texto y ejecuta ftp -s:commands.txt nombrehost. El archivo suele empezar con el nombre de usuario y la contraseña en líneas separadas, seguidos de comandos de transferencia como binary, get o put, y finalmente bye. Ten en cuenta que la contraseña se guarda en texto plano y que la conexión no está cifrada: para tareas programadas o desatendidas es mucho mejor una herramienta con soporte de SFTP/FTPS y un planificador de verdad.
¿Prefieres no memorizar comandos?
FTPie es un cliente FTP y FTPS moderno para Windows con transferencias por arrastrar y soltar, un modo pasivo que atraviesa los cortafuegos sin configuración, y SFTP, WebDAV y más de 10 servicios en la nube en la misma aplicación: gratis hasta 3 conexiones de servidor.
Descargar FTPie gratis