I want to display:

  1. All users and

  2. All groups

    in my system using command-line.

users and groups commands display users currently logged in, and groups a user belongs to respectively.

How to display a list of all users and all groups by command-line?


2 Answers 2


You can display with the help of compgen builtin command as follows:

  1. To display all users run following command:

    compgen -u
  2. To display all groups run following command:

    compgen -g

However you can also display all users by cut -d ":" -f 1 /etc/passwd.

  • 15
    Nice! it might be preferable to use getent passwd / getent group instead of cat'ing the local files (getent should work for non-local accounts as well) Aug 23, 2014 at 14:31
  • @steeldriver compgen does seem to work for non-local accounts (at least for LDAP).
    – muru
    Aug 23, 2014 at 14:32
  • 1
    @muru I was referring to the second method specifically (cat /etc/passwd | cut -d ...) Aug 23, 2014 at 14:46
  • @steeldriver Ah, sorry. I thought that was a more general observation.
    – muru
    Aug 23, 2014 at 14:57
  • Well, on my ubuntu, I have some files created by docker mount with 999:999 as user:group, but unfortunately none of the above commands prints them.
    – Marinos An
    Mar 19, 2019 at 11:31

Here we are going to use getent for the detailed the info

We can list the user with the following command:

getent passwd

We can list the group as follows:

getent group

To fetch detail a specific user

getent passwd lalit

Replace the lalit with your user name. Lalit will not be in every system :)

You can read the more into about getent here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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