FTP (File Transfer Protocol) es un protocolo de transferencia de ficheros usado para conectarse a máquinas remotas como sitios web o servidores. Aunque existen muchísismos clientes tanto gratuitos como de pago en internet y con interfaz gráfica, por detrás están usando los mismos comandos del protocolo que vamos a detallar a continuación.

Lo primero que hace falta es tener el cliente ftp, por defecto en todas las distribuciones Linux ya viene de serie y lo vamos a comprobar abriendo una terminal y escribiendo:

ftp

Si se nos abre un intérprete de órdenes con el texto: «ftp>», significa que si está instado. escribimos «quit» para salir.
Si no apareciese esto, lo instalamos con un simple:

sudo apt-get install ftp

Ahora a través de un simple script vamos a ver qué haría cada una de las órdenes:

ftp -n www.servidor.com <<EOF
user usuario contrasenya
binary
cd direcoriodestino
lcd directoriolocal
put fichero.zip
quit
EOF

help: Muestra un resumen de todos los comandos posibles. Si se utiliza la sintaxis help get, mostrará ayuda sobre un comando determinado, en este caso, el comando get.
get: Inicia la descarga del fichero que se especifique como parámetro: get fichero.zip .
mget: Inicia la descarga de un conjunto de ficheros, preguntará al inicio de cada una de las descargas individuales: mget *.zip .
put: Inicia la subida de un fichero al servidor FTP: put archivo.zip .
mput: Inicia la subida de un conjunto de ficheros al servidor FTP: mput *.zip .
lcd: Permite cambiar el directorio del sistema desde el cual nos conectamos al FTP. De esa manera no es necesario desconectar, moverse de directorio, y volver a conectar para subir/descargar ficheros a ese nuevo directorio de nuestra máquina local. Por ejemplo, lcd directorio. No confundir con el comando cd que nos desplazará por los directorios del servidor FTP. Si se utiliza el comando lcd sin ningún parámetro nos indicará en que directorio de la máquina local nos encontramos (Misma función que la del comando pwd en la máquina servidor).
bi: Establece el tipo de transferencia binaria, necesaria para la gran mayoría de descargas. Algunos servidores establece este modo de transferencia automática, pero otros no, y suele ser necesario por lo que debería ser el primer comando a ejecutar una vez conectados.
ls: Permite listar el contenido de la carpeta del servidor FTP en la que nos encontremos.
pwd: Nos indica la ruta del servidor FTP en la que nos encontramos.
Otros comandos: Están disponibles otros comandos como mkdir, rmdir, delete y rename para la creación y eliminación de directorios y borrado y renombrado de directorios respectivamente en la máquina servidor, cuyo uso es similar al de los comandos de Linux correspondientes.

Para más información sobre ftp: arkabytes.com
Para más información sobre bash: auladigital.com