Here is the video version, if you prefer it:
The su
command is used to start a shell as another user (most often the superuser). (Shotts, 2019) If you want to use it, this is what you’d write:
su [-[l]] [user]
This is some new notation? What does this mean? Everything enclosed in square braces is optional, meaning you can execute the command without writing any of it. (Barrett, 2016) Couple of examples of valid commands:
su
su -
su -l
su -l mislav
su - mislav
su mislav
All are valid. If you don’t specify the user it is assumed you want to start the shell as the superuser. The -l
option means you want to change to that user’s home directory. To enter the previous shell, type exit
.
The -c
option is used to execute a command as another user like so:
su -c 'command'
but I have never used it. In general, I have never found myself using the su
command – whenever I want to do something as the superuser, I use sudo
.
A caveat: If you switch to the superuser, your prompt will change from $
to #
, like so:
mislav@mislavovo-racunalo:~$ su
Password:
root@mislavovo-racunalo:/home/mislav#
Hope you found this useful!
References
Barrett, D. J. (2016). Linux pocket guide (3rd ed.). O’Reilly Media. Pages 171-172
Shotts, W. (2019). The Linux Command Line, Fifth Internet Edition. Retrieved from http://linuxcommand.org/tlcl.php. Pages 126-127
Subscribe to my newsletter to keep abreast of the interesting things I'm doing. I will send you the newsletter only when there is something interesting. This means 0% spam, 100% interesting content.