Thursday, November 3, 2011

Introduction to Linux FTP command by Anwar Faiz

This post is an introduction to the Linux FTP command. I will discuss in short, the FTP commands, ‘l-variants’, ‘!-variants’, and ‘m-variants’ command in FTP.

To start with, let me tell you that ftp command relates to the File Transfer Protocol. A typical use of the command ftp is for remotely copying, renaming, and deleting files.

For instance:
ftp abc.anwar.edu
This command will attempt to connect to the ftp server at abc.anwar.edu. If it succeeds, it will ask you to log in using a username and password. In case it is a public ftp server, it often allows you to log in using the username "anonymous" and your email address as password. After you are logged in you can get a list of the available ftp commands using the simple help function:
ftp> help
This lists the commands that you can use to show the directory contents, transfer files, and delete files.

Now let us analyze what you can do once you are in FTP command mode. The Shell prompt at this time typically becomes as ftp>.
You can type one of many commands available now to achieve different results.
For instance, ftp> ls
This command prints the names of the files and subdirectories in the current directory on the remote computer.
In a similar way, ftp> cd customers
This command changes the current directory to the subdirecotry "customers", if it exists.
In the same manner, ftp> cd ..
Changes the current directory to the parent direcotry.
Now there can be another variants of these commands too. Because remember now you are in a 2 computer zone. One is your host system from which the ftp command is run. Another is your remote system that has been FTPed here. So for these you can use a prefix ‘l’ befor above command to traverse through the directory structure of the local computer. Obviously ;) local means host system.
For example, ftp> lcd images.
Changes the current directory on the local computer to "images", if it exists.

Now we can directly land into serious discussions. First of any such discussion is about the modes of transfer. There can be two modes of transfer of files. One is ‘ascii’ and another is ‘binary’.
For example, ftp> ascii
Changes to "ascii" mode for transferring text files.
And ftp> binary
Changes to "binary" mode for transferring all files that are not text files.

The next point in discussion is about the transfer of files. After all, it is only for which the FTP command is all about.
So here comes the first one GET command.
Using ftp> get image1.jpg
You can download the file image1.jpg from the remote computer to the local computer.
It is warned that in case there already is a file with the same name it will be overwritten. Obviously you may smile over this warning ;)

And now comes the command for Uploading data, the PUT command
The command ftp> put image2.jpg
Uploads the file image2.jpg from the local computer to the remote computer. Again the same warning of file overwriting if file exists.

Using ‘!’-variant commands in ftp you can achieve results on local computer.
ftp> !ls
A '!' in front will execute the specified command on the local computer. So '!ls' lists the file names and directory names of the current directory on the local computer.

The last of such serious ( please smile again ;) what serious?). Ok. So the last one of such serious discussions would be the ‘m’-variant commands of get and put.
ftp> mget *.jpg
With mget you can download multiple images. This command downloads all files that end with ".jgp".
ftp> mput *.jpg
Uploads all files that end with ".jgp".
ftp> mdelete *.jpg
Deletes all files that end with ".jgp".

The blogpost would remain incomplete if I do not tell about the last point.
ftp> quit
This command exits the ftp program, and lets you return on the normal shell prompt.

With this I end this blogpost. I guess, it is sufficient to begin with and in a typical day to day job. For more details and examples, you may like to visit the website FTP tutorial from About.com. Take care :)

No comments:

Post a Comment