This chapter describes how to find information about local and remote users and hosts before you begin communication or file transfer tasks. The commands described in this chapter will enable you to:
who am i
command,
Section 10.1)
who
command,
Section 10.1)
finger
command,
Section 10.2.1)
talk
or
write
commands (
finger
command,
Section 10.2.1
and
Section 10.2.2)
ruptime
command,
Section 10.3)
rwho
command,
Section 10.4)
ping
command,
Section 10.5)
Note
The commands described in this chapter are, like all TCP/IP operations, subject to the security features on the local and remote hosts. If they do not work as stated here or in the related reference pages, see your system administrator.
When you log in to a host computer by providing a user name and password,
you have a unique identity. To verify this information for your
own network connection, you can use a version of the
who
command called
who am i
to display the following information about you:
For example, user
lennon
might enter the
who am i
command at the system prompt
(%
)
and read the following output:
%
who am i
lennon ttyp0 Jul 15 14:17 (walrus)
In this example, user
lennon
logged in from host
walrus
at 2:17 in the afternoon of July 15. The line is
ttyp0
,
and
walrus
is the name for this line, from which the network connection came.
The
who am i
command can help you keep track of the sessions you have running
on your workstation. Some sessions may be remote
logins to another host by yourself or by someone with whom
you are working. See the
who
(1)
reference page for more information about the
who am i
command.
To find out if other users are logged in
to the same local host, use the
who
command. In the following example,
lennon
enters the
who
command at the prompt of local host
london
,
and learns that three other users are currently logged in to
london
from different nodes:
london%
who
lennon ttyp0 Jul 15 08:17 (walrus) elvis ttyp2 Jul 15 07:55 (velvet) burdon ttyp1 Jul 15 09:02 (animal) sarjan ttyp4 Jul 14 16:47 (pepper)
The output from the
who
command is the same as that from the
who am i
command.
The
finger
command and its options enable you to display information
about users with accounts
on local or remote hosts. The specified host must be running a
fingerd
daemon server or have the
inetd
daemon configured to start
fingerd
.
See your system administrator if the
finger
command does not work as described in the
finger
(1)
reference page.
The
finger
command has the following syntax:
finger
[
[
option...
]
[
user...
]
[
user@host_name...
]
]
If you use the
finger
command without specifying an option or a user name, it
lists the following information about all users on the
local host where you are logged in, if the information is in the
/etc/passwd
file for a given user:
write
(see
Section 11.8)
or
talk
(see
Section 11.9)
If you specify the login name of a user on your local host, the
finger
command displays more information than if you entered the
finger
command without specifying a user name. The following additional
information about the user is displayed:
.plan
and
.project
files in the user's home directory
The following example shows how to use the
finger
command to find information about user
smith
,
who has an account on your local host:
%
finger smith
Login name: smith (messages off) In real life: John Smith Office: LV05-3/T24 Directory: /usr/netd/r2/smith Shell: /bin/csh On since Apr 9 16:20:56 on ttypb from wombat.lv5.dec.c 18 seconds Idle Time Project: book, "Communicating with Network Users" Plan: Get information in the following areas: network commands mailx
In the first line of output,
messages off
means that user
smith
has put the
mesg n
command in his
.login
file to prevent his terminal from receiving messages from
other users through the
write
or
talk
commands, which can be distracting.
The preceeding example also displays the contents of the
.project
file and the
.plan
file that user
smith
created in his home directory. The
.project
file can contain only one line. The
.plan
file can contain as many lines as the file system allows;
finger
will print all the lines until the end-of-file
(EOF
)
is reached.
In the following example, the
finger
command displays information about users on the remote host
boston
:
%
finger @boston
[boston] Login Name TTY Idle When Office amy Amy Wilson p0 4 Thu 10:00 345 chang Peter Chang *p1 2:58 Thu 10:16 103
The first output line lists the remote host name,
boston
,
and the second line describes the type of information in each column of
the remaining output, each line allocated to one user. The asterisk
(*
)
indicates that user
chang
has put the command,
mesg n
in his
.login
file to prevent his terminal from receiving messages from
other users through the
write
or
talk
commands.
To display information about user
luis
on remote host
havana
use the following
finger
command:
%
finger luis@havana
Login name: luis In real life: Luis Aguilera Directory: /users/luis Shell: /bin/csh On since May 24 10:16:07 on ttyp2 from :0.0 58 minutes Idle Time Project: baseball game simulation software Plan: Distribute with linked statistics module.
There are several options to the
finger
command that enable you to modify the output according to the data you need.
Table 10-1
lists and describes each option.
Option | Description |
-b
|
Produces a brief version of output |
-f
|
Suppresses display of titles of each field |
-h
|
Suppresses printing of users'
.project
files
|
-i
|
Displays list of users with idle times |
-l
|
Produces long format of output despite other options |
-m
|
Assumes that
user
is an account name
|
-p
|
Suppresses printing of users'
.plan
files
|
-q
|
Displays only users' login and terminal names and login time |
-s
|
Produces brief format of output despite other options |
-w
|
Produces narrow, brief format of output despite other options |
For more information on the
finger
command, see the
finger
(1)
reference page.
Before you send messages or transfer files over the network
using the commands described in this book, you should know
whether or not the recipient host is currently online. To do this,
use the
ruptime
command which works for hosts that are running the
rwhod
daemon on the local network.
The
ruptime
command displays the following information:
up
for online or
down
for offline)
ruptime
request
The syntax of the
ruptime
command is:
ruptime
[
[
option...
]
[
sort_option
]
]
If you use the
ruptime
command without options, a
status report about the hosts on your local
network, sorted alphabetically by host name, is displayed. For example:
%
ruptime
apple up 102+05:07 4 users, load 0.09, 0.04, 0.04 byblos up 3+03:17, 3 users, load 0.08, 0.07, 0.04 carpal up 2:28, 0 users, load 7.01, 5.02, 3.03 dull down 9+21:59 eager down 23+22:45 foobar up 3+01:44, 9 users, load 0.01, 0.02, 0.03 garlic up 14+01:35, 1 user, load 0.06, 0.12, 0.11 hiccup up 4+22:14, 19 users, load 6.37, 3.90, 2.71 jackal up 13+10:32, 26 users, load 0.70, 0.92, 0.95 starry up 16+21:08, 1 user, load 0.22, 0.14, 0.07 travel up 13+23:44, 7 users, load 1.01, 1.19, 0.5 trekky down 23+03:53 tribbl up 8+21:43, 0 users, load 0.00, 0.00, 0.00 trubbl up 14+02:34, 0 users, load 0.00, 0.00, 0.00 tunnel down 14+02:34 warp9 up 8+01:24, 9 users, load 0.01, 0.02, 0.03
Often, you need to determine only whether a single host is currently
online. To do this, enter the
ruptime
command with the host name, as shown in the following example,
for host
trekky
:
%
ruptime trekky
trekky down 23+03:53
This output shows that host
trekky
is not currently online.
You can also determine whether a host is online by using the
ping
command described in
Section 10.5;
ping
works for any host in a TCP/IP network configuration.
If you plan to run commands on a remote host (as described in
Chapter 13),
use the
ruptime
command with the
-l
option to determine whether the
host resources will be adequate. This command
sorts the hosts by load average in descending order.
The following example shows partial output from the
ruptime -l
command:
%
ruptime -l
carpal up 2:28, 0 users, load 7.01, 5.02, 3.03 hiccup up 4+22:14, 19 users, load 6.37, 3.90, 2.71 travel up 13+23:44, 7 users, load 1.01, 1.19, 0.5 jackal up 13+10:32, 26 users, load 0.70, 0.92, 0.95
.
.
.
In this example, usage is low on all hosts except
carpal
and
hiccup
.
Therefore, you may decide to remotely log in to either
travel
or
jackal
,
if either host is suitable for your purpose.
If you need to use a remote host for a long period of time, you
should know the total number of users there, not just the number whose
sessions have been active for an hour or longer. Use the
ruptime
command with the
-a
option to display the total number of users on a remote host.
The following two examples use the
ruptime -a
command to determine the total number of users first on host
travel
,
and then on host
jackal
:
%
ruptime -a travel
travel up 13+23:44, 32 users, load 1.01, 1.19, 0.5
%
ruptime -a jackal
jackal up 13+10:32, 29 users, load 0.70, 0.92, 0.95
From the results of the
ruptime
command using the
-a
and
-l
options (in the preceding example),
you can determine that both hosts have nearly
the same number of users, but the current usage on host
travel
is calculated from only the 7
(from a total of 32)
users whose sessions have been active for an hour or longer.
By contrast, usage on host
jackal
is less, but is calculated from 26
of the total of 29
users. You could conclude that, over a period of time,
usage on host
travel
may increase as more users log in, but that usage on host
jackal
may either decrease or stay nearly the same, because most of its
users are already logged in.
The remaining
options (except for
-r
)
sort by different output fields, and
in descending alphabetical order.
To reverse this order, put the
-r
option after the other option on the command line.
You should not combine other
ruptime
command options; if you do, only the last option on the
command line will be used.
Table 10-2
describes each option.
Option | Description |
-a
|
Provides information for all users, including those whose sessions have been idle for an hour or longer |
-l
|
Sorts output by load average over 5-, 10-, and 15-minute intervals |
-r
|
Reverses the sort order |
-t
|
Sorts output by length of time host is online |
-u
|
Sorts output by number of users |
For more information, see the
ruptime
(1)
reference page.
Before using a command that sends a message or transfers
a file, you often need to know if the recipient user is logged in.
To determine whether a user is logged in to a remote host on
the local network, you can use the
rwho
command, specifying the name of one or more users. The
rwho
command operates only for hosts running the
rwhod
daemon. See your system administrator if necessary.
The
rwho
command displays the following information:
The
rwho
command has the following syntax:
rwho
[
[
-a
]
[
user...
]
]
Without options, the
rwho
command lists all users currently logged in to hosts on the local
network, except those who have been idle for an hour or longer.
A typical local network has several dozen users, so
you should specify only the users about whom you need information.
Although the
-a
option displays all users, including those idle for more than an
hour, you can still use it while specifying only certain
users. This enables you to determine whether or not
a remote user is logged in,
regardless of whether that user has been inactive for an hour or longer.
The following example uses
rwho
with the
-a
option to determine this information for users
wally
,
becky
,
and
smith
:
%
rwho -a wally becky smith
becky cygnus:pts0 Jan 17 11:20 :12 smith aquila:ttyp0 Jan 15 09:52 :22 wally lyra:pts7 Jan 17 13:15 1:32 wally lyra:pts8 Jan 17 14:15 1:01
As shown, the output from the
rwho
command displays in alphabetical order by user name, then by host
name. The amount of idle time greater than one hour is shown in the
last column, after the starting time and date of each session.
Without the
-a
option, the information for user
wally
would not have displayed.
For more information on the
rwho
command, see the
rwho
(1)
reference page.
The
ping
command is used by system administrators to fix network
transmission problems and works for any host
configured in a TCP/IP network.
As a network user, you can use it to determine
whether a remote host is currently online. For
example, to determine whether remote host
moon
is online, enter the
ping
command at your local system prompt. The output, which
verifies that the remote
host is online, will continue to display
until you press Ctrl/c,
as shown in the following example:
%
ping moon
PING moon (130.180.4.108): 56 data bytes
64 bytes from 130.180.4.108: icmp_seq=0 ttl=255 time=42 ms
64 bytes from 130.180.4.108: icmp_seq=1 ttl=255 time=0 ms
64 bytes from 130.180.4.108: icmp_seq=2 ttl=255 time=0 ms
64 bytes from 130.180.4.108: icmp_seq=3 ttl=255 time=0 ms
\*(KbCtrl/c\*(Ke
----moon PING Statistics----
9 packets transmitted, 9 packets received, 0% packet loss
round-trip (ms) min/avg/max = 0/4/42 ms