In this chapter, we will discuss in detail about network communication utilities in Unix. When you work in a distributed environment, you need to communicate with remote users and you also need to access remote Unix machines.
There are several Unix utilities that help users compute in a networked, distributed environment. This chapter lists a few of them.
The ping command sends an echo request to a host available on the network. Using this command, you can check if your remote host is responding well or not.
The ping command is useful for the following −
Following is the simple syntax to use the ftp command −
$ping hostname or ip-address
The above command starts printing a response after every second. To come out of the command, you can terminate it by pressing CNTRL + C keys.
Following is an example to check the availability of a host available on the network −
$ping google.com PING google.com (74.125.67.100) 56(84) bytes of data. 64 bytes from 74.125.67.100: icmp_seq = 1 ttl = 54 time = 39.4 ms 64 bytes from 74.125.67.100: icmp_seq = 2 ttl = 54 time = 39.9 ms 64 bytes from 74.125.67.100: icmp_seq = 3 ttl = 54 time = 39.3 ms 64 bytes from 74.125.67.100: icmp_seq = 4 ttl = 54 time = 39.1 ms 64 bytes from 74.125.67.100: icmp_seq = 5 ttl = 54 time = 38.8 ms --- google.com ping statistics --- 22 packets transmitted, 22 received, 0% packet loss, time 21017ms rtt min/avg/max/mdev = 38.867/39.334/39.900/0.396 ms $
If a host does not exist, you will receive the following output −
$ping giiiiiigle.com ping: unknown host giiiiigle.com $
Here, ftp stands for File Transfer Protocol. This utility helps you upload and download your file from one computer to another computer.
The ftp utility has its own set of Unix-like commands. These commands help you perform tasks such as −
Connect and login to a remote host.
Navigate directories.
List directory contents.
Put and get files.
Transfer files as ascii, ebcdic or binary.
Following is the simple syntax to use the ftp command −
$ftp hostname or ip-address
The above command would prompt you for the login ID and the password. Once you are authenticated, you can access the home directory of the login account and you would be able to perform various commands.
The following tables lists out a few important commands −
Sr.No. | Command & Description |
---|---|
1 |
put filename Uploads filename from the local machine to the remote machine. |
2 |
get filename Downloads filename from the remote machine to the local machine. |
3 |
mput file list Uploads more than one file from the local machine to the remote machine. |
4 |
mget file list Downloads more than one file from the remote machine to the local machine. |
5 |
prompt off Turns the prompt off. By default, you will receive a prompt to upload or download files using mput or mget commands. |
6 |
prompt on Turns the prompt on. |
7 |
dir Lists all the files available in the current directory of the remote machine. |
8 |
cd dirname Changes directory to dirname on the remote machine. |
9 |
lcd dirname Changes directory to dirname on the local machine. |
10 |
quit Helps logout from the current login. |
It should be noted that all the files would be downloaded or uploaded to or from the current directories. If you want to upload your files in a particular directory, you need to first change to that directory and then upload the required files.
Following is the example to show the working of a few commands −
$ftp amrood.com Connected to amrood.com. 220 amrood.com FTP server (Ver 4.9 Thu Sep 2 20:35:07 CDT 2009) Name (amrood.com:amrood): amrood 331 Password required for amrood. Password: 230 User amrood logged in. ftp> dir 200 PORT command successful. 150 Opening data connection for /bin/ls. total 1464 drwxr-sr-x 3 amrood group 1024 Mar 11 20:04 Mail drwxr-sr-x 2 amrood group 1536 Mar 3 18:07 Misc drwxr-sr-x 5 amrood group 512 Dec 7 10:59 OldStuff drwxr-sr-x 2 amrood group 1024 Mar 11 15:24 bin drwxr-sr-x 5 amrood group 3072 Mar 13 16:10 mpl -rw-r--r-- 1 amrood group 209671 Mar 15 10:57 myfile.out drwxr-sr-x 3 amrood group 512 Jan 5 13:32 public drwxr-sr-x 3 amrood group 512 Feb 10 10:17 pvm3 226 Transfer complete. ftp> cd mpl 250 CWD command successful. ftp> dir 200 PORT command successful. 150 Opening data connection for /bin/ls. total 7320 -rw-r--r-- 1 amrood group 1630 Aug 8 1994 dboard.f -rw-r----- 1 amrood group 4340 Jul 17 1994 vttest.c -rwxr-xr-x 1 amrood group 525574 Feb 15 11:52 wave_shift -rw-r--r-- 1 amrood group 1648 Aug 5 1994 wide.list -rwxr-xr-x 1 amrood group 4019 Feb 14 16:26 fix.c 226 Transfer complete. ftp> get wave_shift 200 PORT command successful. 150 Opening data connection for wave_shift (525574 bytes). 226 Transfer complete. 528454 bytes received in 1.296 seconds (398.1 Kbytes/s) ftp> quit 221 Goodbye. $
There are times when we are required to connect to a remote Unix machine and work on that machine remotely. Telnet is a utility that allows a computer user at one site to make a connection, login and then conduct work on a computer at another site.
Once you login using Telnet, you can perform all the activities on your remotely connected machine. The following is an example of Telnet session −
C:>telnet amrood.com Trying... Connected to amrood.com. Escape character is '^]'. login: amrood amrood's Password: ***************************************************** * * * * * WELCOME TO AMROOD.COM * * * * * ***************************************************** Last unsuccessful login: Fri Mar 3 12:01:09 IST 2009 Last login: Wed Mar 8 18:33:27 IST 2009 on pts/10 { do your work } $ logout Connection closed. C:>
The finger command displays information about users on a given host. The host can be either local or remote.
Finger may be disabled on other systems for security reasons.
Following is the simple syntax to use the finger command −
Check all the logged-in users on the local machine −
$ finger Login Name Tty Idle Login Time Office amrood pts/0 Jun 25 08:03 (62.61.164.115)
Get information about a specific user available on the local machine −
$ finger amrood Login: amrood Name: (null) Directory: /home/amrood Shell: /bin/bash On since Thu Jun 25 08:03 (MST) on pts/0 from 62.61.164.115 No mail. No Plan.
Check all the logged-in users on the remote machine −
$ finger @avtar.com Login Name Tty Idle Login Time Office amrood pts/0 Jun 25 08:03 (62.61.164.115)
Get the information about a specific user available on the remote machine −
$ finger amrood@avtar.com Login: amrood Name: (null) Directory: /home/amrood Shell: /bin/bash On since Thu Jun 25 08:03 (MST) on pts/0 from 62.61.164.115 No mail. No Plan.