361

The title says it all. What command I need to run from a terminal to find my user ID (UID)?

Braiam
  • 67,791
  • 32
  • 179
  • 269
a06e
  • 13,223
  • 26
  • 70
  • 104

5 Answers5

471

There are a couple of ways:

  1. Using the id command you can get the real and effective user and group IDs.

     id -u <username>
    

    If no username is supplied to id, it will default to the current user.

  2. Using the shell variable. (It is not an environment variable, and thus is not available in env).

     echo $UID
    
guntbert
  • 13,134
jobin
  • 27,708
  • 9
    How about GID ? – kangear Oct 29 '15 at 01:11
  • 26
    @kangear id -g – itsazzad Dec 18 '15 at 15:23
  • It's worth noting that, due to the fact that the variables are resolved before being passed to a command, we have that sudo echo ${UID} prints out 1000 (or whatever your sudoer user's UID is), whereas sudo id -u prints out 0. – adentinger Dec 19 '18 at 20:33
  • The username is optional, defaulting to yourself. Maybe square brackets would be better for indicating this, instead of angle brackets. – mwfearnley May 13 '19 at 15:44
  • 3
    The second part of this answer is wrong. The variable in question is explicitly not an environment variable. It's a shell variable. Big difference. You can see this with echo $UID versus env|grep ^UID in Bash, for example. This means in particular that the first method is more robust and the second will only work in shell scripts, not - say - in something like Python (python -c 'import os; print(os.environ)' to see the environment). – 0xC0000022L Dec 16 '20 at 15:39
  • @0xC0000022L That seems to be the case indeed. I get 1000 from echo $UID and an empty line from $ printenv UID. – Daniel Dec 05 '23 at 11:22
112

Simply try

id

This will return your user ID, group ID, and all your groups.

TAq
  • 1,271
19

Try also :

getent passwd username

This will display user id , group id and home directory .

Or:

grep username /etc/passwd
nux
  • 38,017
  • 35
  • 118
  • 131
10

You can use id command.

Manpage

5

Get the User ID (UID) and Group ID (GID) for the running user

id -u  # user ID (UID)
id -g  # group ID (GID)

Example run and output for the active user (myself):

$ id -u
1000
$ id -g
1000

and for the root user (via sudo):

$ sudo id -u
[sudo] password for gabriel: 
0
$ sudo id -g
0

Note that the first user is generally 1000 for both the UID and GID, and the root user is generally 0 for both the UID and GID.