How can I download a specified directory and all it's files from an FTP server (requiring username+password)?
My personal preference is
You can install it from the repositories by typing
sudo apt-get install filezilla.
It's quite stable and with plenty of features.
Alternatively, if you want to download by using a shell FTP client (no GUI), you could try to use
ncftpget –R –v –u "username" <ftp_site> <local_dir> <remote_dir>, (where "R" = recursive, "v" = verbose)
wget -r ftp://username:password@<ftp_site>/
wget provides many options, i've used it many times myself and i think that you should really try it (read it's 'man page', it's worth it)
A few command line solutions from this thread on SO:
wget -l 100 --user=<user> --password=<password> ftp://server/which/folder
-l 100 is for setting depth to 100, as
-r sets it to 5.
wget -r ftp://user:firstname.lastname@example.org/
Might not always work, as per SO, so try
ncftp as below:
ncftp -u <user> -p <pass> <server> ncftp> mget directory
scp -r user@server:/which/folder /destination/folder/
This one is highly recommended over plain FTP.
Any FTP client is able to download directories recursively and also authenticate with a username and password. Just start Ubuntu Software Center, search for "ftp" and choose one of the options.
Filezilla looks like a good candidate to install and see if it works for you (though I never used it).
Or do you mean you want to download files in some unusual way (in a terminal, from a shell script, etc.)?