Questions on Software, Files, and File Transfers (FTP)

Locating and transferring software and files

(Last revised 12 March 2016)
Creative Commons License
FTP FAQ is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.
Based on a work at

What is FTP?
File Transfer Protocol. The Internet protocol that permits you to transfer files between your system and another system. You can use any of three approaches to transfer files:

What software do I need to use FTP?
Limited FTP capability is built into most browsers, and you can use an FTP URL to get files. Some browsers also include the ability to put files from your system to another system using drag and drop from directory software like Windows Explorer. But if you are going to put files elsewhere very regulary, such as when you are maintaining multiple web pages, you will need FTP software. The older shell accounts normally include built-in FTP software, usable with FTP commands. If you are using a dialup or networked account, you will need your own sofware. Windows 95 and later comes with its own FTP software that can be run from MSDOS or in a dos window from the Run function. To use it, you need to know the basic FTP commands. There is a lot of friendlier software, like WS-FTP for Windows, that automates the FTP process for you so that you don't have to remember the command structure.

How can I find software and files I need?
There are several approaches to searching for software and files.

How do I get or put software and files with FTP?

What are the basic FTP commands for manual FTP?
If you are using a shell account or software that uses a command mode to run FTP, you need to know a basic set of commands. They may differ slightly from one operating system to another. Here are the most common ones:

Opens the ftp software. If you follow it with an ftp address, it completes the connection.

open some.ftp.address
If the ftp software is already running (you will usually see an ftp> prompt), use the open command followed by an ftp address to connect to a site.

cd directoryname
Changes to the named subdirectory. Successive subdirectories can be chained together in one command, separated by slashes.

cd ..
Changes to the next higher directory. The double dots can also be chained with slashes to move more than one level.

The chmod command changes file permissions. Typically, the permissions are set to read, write, and execute for the owner, a specified group, and the individual. For example, "rwx r-x r--" specifies that the owner can read, write and execute, the group can just read and execute, and the individual can just read. The command syntax can vary a lot from system to system, and is not explained here.

ls or ls -l or dir
Various forms of directory commands. Try them all and see their effects.

Make a new directory

Remove a directory

rm or del
Various forms of the delete command. If one doesn't work, try the other.

rename or mv
Various forms of the rename command. In unix, the syntax mv oldname newname effectively moves the old name to the new name.

get filename
Get (download) the named file from the remote system to your system.

mget filelist
Multiple file get. You can use wildcards, such as *.gif or list each filename in turn.

Put (upload) a file from your system to a remote system.

Multiple file put.

Sets ascii (text) mode for subsequent transfers. Use with HTML files.

Sets binary mode. Must be used for all binary files.

help or ? or man ftp
Calls up more help. If one doesn't work, try another.

Are there any restrictions on filenames?

Note that there are some restrictions on filenames. To avoid compatibility problems, use only letters, numbers, and underlines in filenames. Avoid spaces and special characters completely. Rename files before uploading them, for best results. Always end a filename with a common extension, such as .jpg or .gif.