Since the late 1980s I’ve used the TCP/IP-based File Transfer Protocol, or FTP, to upload and download tens of thousands of files for hundreds of book and Web projects. Along the way, I’ve transitioned from command-line FTP (anybody else remember put, get, mget, hash, and all the rest?) to numerous GUI FTP tools. I have yet to find another one that I like as well as FileZilla, or that costs the same to acquire (nothing!).
FileZilla is an open source software project that’s distributed under the terms of the GNU GPL or General Public License. That means that the source code for FileZilla is freely available, as are client implementations for Windows (Vista and XP only), Mac OS X, and Linux; a server implementation for Windows 2000, XP, and Vista is also available as well.
As I write this story, the latest version of FileZilla is 3.1.0.1, which comes in the form of a 3,397 KB download file. One of the things I like about FileZilla is that it checks for updates automatically (once a week, by default) and installs new versions when it detects them and you grant it permission to do so. It’s a pretty lightweight program that consumes just over 6 MB of RAM (6,528 K) and that works quite well and is easy to use. When the program needs an update, you’ll get a notification pop-up when you launch the program, but you’ll also see a title bar menu entry that reads “New version available!” as shown in this screenshot.
Filezilla is good about finding updates and
providing gentle reminders of their availability
(click on thumbnail to view full image)
When it comes to using FileZilla, you work from two sets of directory listings. On the left, you see your local directory structure in the upper Local site: pane, and detailed listing information in the Filename / pane beneath it. On the right, you see a Remote site: pane across from its Local site: correspondent, with a Filename / pane beneath it to match as well. The pane at the top of the window, just beneath the menu bars, lets you provide FTP login information (Host, Username, Password, and even Port if an alternative or pre-determined port must be used). Once a new site is entered, you can use the Quickconnect button to invoke its definition from a pulldown menu to login to the remote site of your choice with two mouse clicks (one to provoke the menu, the second to pick an entry). The next screenshot shows the tail end of the FTP dialog that occurs as I logged into my FTP server at edtittel.com.
Filezilla provides matching local/remote
file listings once you log into some FTP server
(click on thumbnail to view full image)
Copying items from local to remote directories, or vice versa, is as easy as dragging and dropping one or more items (if you hold the Ctrl key down, you can select multiple items for any single drag’n’drop maneuver). I’ll show some screen shots that illustrate this process using right-click menu options instead (“Add files to queue” to list them in the Queued File pane at the bottom of the Filezilla window, then “Upload” to copy them from the local site to the remote site). Here are the corresponding screenshots:
Right-click a group of selected files to move them
into the queued files pane for upload or download
(click on thumbnail to view full image)
Right-click queued files to upload them to the remote site,
after which they appear in the Successful Transfers tab
at the bottom of the FileZilla window
(click on thumbnail to view full image)
Filezilla offers lots of other features I’m not going to dig into here that are worth mentioning nonetheless. If you have a private/public key pair (like those from PGP), you can use Secure FTP, or SFTP, with Filezilla as well as older-fashioned but still common and insecure plain-vanilla FTP protocols. It will compare source and target directories for you so you can easily flag and synchronize what’s changed (handy when mirroring a private, in-house development directory tree onto a public, freely available production server). You can apply filters to control what appears in directory listings so as better to manage specific types of transfers. There’s more, but by now I hope you get the idea that this Open Source product is as full-featured and capable as the vast majority of other commercial FTP implementations.
In the past 15 years, I’ve used FTP client software from Ipswitch (WS_FTP), Cute FTP Software (CuteFTP), SmartFTP (SmartFTP), and others, all with great success. In a pinch I’ve even used the built-in Windows command line FTP client. But I’ve always balked at paying $30-plus dollars a year for updates and subscriptions to these otherwise excellent commercial packages. I balk no longer, however: I now use Filezilla instead!