You probably know Konqueror as KDE's browser application, but that's barely scratching the surface of its capabilities.
Once you've roused the beast, Konqueror will be quite happy serving up any data for you, as long as an appropriate KIO part is available. This makes it child's play not only to transfer files from your local drive to an FTP site and vice versa, but between a variety of different sources, including Samba shares and NFS mounts.
Although you will probably find it convenient to harness the power of FTP in a twin-panelled list view, there is no strict imperative to do so. Because the KIO protocol slave takes care of managing the connection and serving up a common set of features, you can view in any mode you like, and you can even get previews of image formats and so on. This functionality extends to anything you might reasonably want to do with a file.
The right-click menus in Konqueror are context-sensitive to the location as well as to the file, so you shouldn't get any foolish actions (such as trying to extract an archive in situ), but you will be able to change permissions, rename files and even open them (though, obviously, this involves transferring them).
The standard transfer is sequential rather than simultaneous, but you can still navigate around the directory tree and begin further transfers. There's no queue system for this, but that's not usually a problem unless you mix up what files you were copying to where.
Being able to integrate FTP into your desktop is a great boon for many. It may be achieved here at the loss of some advanced capability, such as error handling, but for some use cases it's probably the perfect fit.
Provides excellent file handling and amazing desktop integration.
Adopting a similar strategy to NCFTP, this command line client attempts to reclaim the shell for FTP power users, with an array of features and commands covering simple transfer actions to more extreme mirroring and FXP use.
This is the only command-line tool in this roundup, and probably in existence, that uses this feature – an ability to initiate an FTP transfer between two remote hosts without acting as a go-between. This could well make it useful for some specific applications, though there are a few caveats.
Although it's not too hard to use for basic functionality, getting into any of the advanced features becomes a bit more confusing. Multi-threaded support and a job backgrounding functions are useful, but it's often tricky to know exactly what's going on, even though it tries as closely as possible to follow the same sort of syntax as the shell itself.
Much pain has been expended on the part of the author to make LFTP reliable, so that jobs can resume when disconnected, for example.
Performance-wise, it did slightly better than NCFTP, and was similarly light in resources. The only worry was that the tool seemed to lose track of the current local directory often, but that's possibly due to some unnoticed side effect of one of the more complex commands we tried. Some of the local shell commands just didn't work on occasion. Tread carefully.
As a comprehensive command-line tool, it can't be ignored. With support for proxies and very wide protocol support, it's technologically the most complete solution for the shell.
Good performance and features, let down by quirky behaviour.
Konqueror was an obvious inclusion to the Roundup, since its dual-role as browser and file manager tend to suggest it should be able to combine both. A surprising number of people are not aware that you can achieve pretty much the same thing in Gnome/Nautilus too.
On the Gnome desktop, a quick trip to the Places menu reveals a Connect To Server option. This will take you through mounting a remote fileserver, including FTP, and you can even store the connection as a bookmark.
As with Konqueror, Nautilus then sees the remote filesystem just like any other, and you can interact with it on the desktop, copying, moving and editing files as you wish (this last action does involve downloading a copy, so don't start editing video files or anything).
File associations are automatically taken from your desktop system, so remote files will open in the default application. Unlike with Konqueror, editing the permissions of the remote files isn't possible, which is a bit of a blow for web work.
Long-term use of Nautilus in this capacity reveals some of its shortcomings. At times of high usage, the connection tends to get a little flaky. This can be more than just an annoyance – it can just hang midtransfer, leaving you in limbo as to which files are copied and what to do next. This may not be the fault of Nautilus itself, but the Gnome Virtual File System that it depends on.
So, while it promises the same levels of interoperability as Konqueror, Nautilus has all of the shortcomings of this way of working without many of the benefits. Good enough for occassional transfers, but simply not recommended for serious use.
Good desktop integration, but poor performance and too many pitfalls.
The original FTP command line client was pretty basic, yet it persisted for years as part of the default install because, well, everyone needed a command line client to fall back on. It did work, but it was pretty painful.
Imagine, then, the scenes of jubilation when NCFTP was born – a command line client that didn't require all the hoop-jumping of the original.
With advanced features like pattern matching and bookmarks, NCFTP certainly made the original FTP client look so dated that it's included in about every distro known to humakind. Running FTP software from the shell might not be your idea of fun, but it can be important.
You never know when you're going to find yourself needing to fetch some file without the luxury of a GUI.There's also never an easy way to control a GUI client from a script, if you need to set up some automated task.
As well as the interactive client itself, the NCFTP package includes some apps to make scripting easier, and it will handle batches using its own spooler. It does seem more focused on the automated side of things, rather than user interaction.
Yes, it's vastly easier to use than the plain FTP client, but it could still be made a little simpler for non-techies. However, it supports proxying, backgrounding of tasks and will auto-resume disconnected downloads. Scheduling is possible through the background task, but that's when things get complicated.
Sadly, this command line warrior fails to live up to the notion that everything you do via the shell is faster. NCFTP is certainly useful, but as far as day-to-day use for the desktop goes, it isn't really viable.
An improvement over the plain FTP client, but not good enough overall.
The best Linux FTP client is...
Because the potential uses for FTP are very broad, there are any number of reasons why one client might be better for a particular task.
The Amazon S3 support of the proprietary CrossFTP could be the clincher for some, for example, or the fact that you can install FireFTP as a browser add-on and use it crossplatform in a variety of places might seal the deal for others. Maybe you need to use FTP in a location where the GUI is unavailable or unwanted, in which case one of the command line tools would be the best solution.
In terms of seamless desktop integration for general use, it is hard to beat Konqueror. Its FTP connection is robust, and the flexible nature of the program means it's easy to make using FTP a part of your normal desktop experience (even if you aren't running KDE). Being able to change permissions and view and manipulate files just as you would on the desktop (with some sane omissions) makes for a pretty painless experience.
The same ought to be true of Nautilus, but it seems the GVFS implementation of FTP isn't as robust, and it also can't handle the more secure FTPS protocol, though it's not used as widely as perhaps it should be.
For serious FTP use, though, the all-round winner has to be the one that not only performs well, but includes a lot of useful features you're likely to need. For this Roundup, FileZilla just about manages to edge out the competition.
It's easy to use, loaded with useful, time-saving features, and has the performance to match any of the top contenders. It has to be said that it's still very ugly though, and that's not entirely down to the compromise of the wxWidgets toolkit – someone with more artistic leanings should really help out with their icon set.
Ultimately, it's safe to say that every one of the clients here could learn a useful trick or two from its rivals.