Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Are there any full featured console (command line) ftp clients?

I'm moving parts of a website from one host to another. One server has ssh shell access (and thus scp, sftp, etc.), the other only ftp.

My home computer is an Ubuntu desktop. What I have been doing till now is using Filezilla to download to my desktop, and then uploading to the new server from there. This is slow and inefficient, everything is transferred twice and my home network speed is limited, and has a monthly bandwidth quota besides. The two servers have a fast connection between them though. I'd rather just ssh into one server and retrieve the files I need directly.

So what I'm looking for a console ftp client which has feature set similar to Filezilla (I need to pick and choose what to transfer and what to leave behind). Does such a creature exist?

share|improve this question
crazy idea: is it possible to have filezilla, or similar, connect to two remote servers at once? i.e. not show 'Local site' and 'Remote site' but 'Site A' and 'Site B'? and transfer direct between? – matt wilkie Nov 12 '10 at 2:05
It is possible if you use a FXP capable FTP server: – João Pinto Nov 12 '10 at 9:23
up vote 14 down vote accepted

Check if Midnight Commander (mc) is installed. If so, you can do ftp from there.

share|improve this answer
This solved my immediate need, thanks. – matt wilkie Nov 13 '10 at 5:49

You could make life really easy for yourself using a fuse filessytem.

On the machine you can ssh into, install curlftpfs

sudo apt-get install curlftpfs

Then add yourself to group fuse

sudo usermod  -aG fuse <username>

Log out, and log back in again, for changes to take effect.

Make a directory for a mount point

mkdir ~/ftp

Then mount the ftp server as a local filesystem

curlftpfs ~/ftp -o user=<ftp_username>

Enter the password when prompted.

You can then use the remote ftp servers files as if they appear on the local server. Allowing you to use cp, rsync etc without the hassle of handling ftp.

Read the man page for more information

Especially useful if you do a lot of this sort of thing.

share|improve this answer
Oh, and to unmount it again do fusermount -u ~/ftp – Richard Holloway Nov 12 '10 at 10:17
I like this, thanks! – matt wilkie Nov 13 '10 at 5:40

To my mind, the most powerful command-line ftp client is undoubtly lftp.

  1. it allows one to use standard shell command over the ftp wire
  2. It provides up/down queue for long operations
share|improve this answer
+1 lftp is awesome. In addition, lftp really comes into its own when using as a non interactive client in shell scripts or backup scripts when ftp is your only option. – Richard Holloway Nov 12 '10 at 17:09
lftp does not work with all FTP servers that I have to deal with - yafc is the one I use it such cases: – Lester Cheung Jul 2 '14 at 2:58
One more vote for lftp - especially for sftp I found it very good, using commands like open sftp://username@sftp_server_address. It's fast and simple. – Cosmin Saveanu Sep 3 '14 at 8:40

Just in case anyone still needs this :)

I was able to transfer a large website from a linux VM (from the SSH command line) to the Azure website cloud service DIRECTLY (via ftp) by using the ncftp client as guided here

Finally, remember to remove the ftp client from your vm afterwards.


share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.