Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I ask this question because, while there are many answers on the internet showing that "who -a" is an option, nobody explains how to read the output. If you can provide a link to an online site that explains this, that would also be an awesome answer. Here is an example that I want to decipher:

[bo@hostname ~]$ who -a
                        Jun 17 03:47               590 id=si    term=0 exit=0
           system boot  Jun 17 03:47
           run-level 3  Jun 17 03:47                   last=S
                        Jun 17 03:48              4424 id=l3    term=0 exit=0
LOGIN      tty1         Jun 17 03:48              5503 id=1
LOGIN      tty2         Jun 17 03:48              5504 id=2
LOGIN      tty3         Jun 17 03:48              5505 id=3
LOGIN      tty4         Jun 17 03:48              5506 id=4
LOGIN      tty5         Jun 17 03:48              5507 id=5
LOGIN      tty6         Jun 17 03:48              5508 id=6
           pts/0        Oct 19 16:27             15250 id=ts/0  term=0 exit=0
bo       + pts/1        Oct 23 12:24   .         19776 (
           pts/2        Oct 23 13:07              8551 id=ts/2  term=0 exit=0
           pts/3        Oct 22 10:36              5813 id=ts/3  term=0 exit=0
           pts/4        Oct 10 09:06             13002 id=ts/4  term=0 exit=0
share|improve this question
up vote 5 down vote accepted

As you can find from man who

   -a, --all
          same as -b -d --login -p -r -t -T -u

So let's look in details:

   -b, --boot
          time of last system boot

this is string system boot Jun 17 03:47

   -d, --dead
          print dead processes

this is strings with exit=0 at the end

   -l, --login
          print system login processes

this is login ttys (strings with LOGIN in the beginning)

   -p, --process
          print active processes spawned by init


   -r, --runlevel
          print current runlevel

this is run-level 3 Jun 17 03:47 last=S

next one is

   -T, -w, --mesg
          add user's message status as +, - or ?
   -u, --users
          list users logged in

this two string

bo       + pts/1        Oct 23 12:24   .         19776 (

Hope now it is more clear how to parse this output.

share|improve this answer
Thanks. That is a good lesson on how to read a man page. Thanks. – djangofan Oct 24 '12 at 1:46

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.