Linux Command Directory
This directory of Linux commands is from Linux in a Nutshell, 5th Edition.
Click on any of the 687 commands below to get a description and list of available options. All links in the command summaries point to the online version of the book on Safari Bookshelf.
Buy it now, or read it online on Safari Bookshelf.
su
su [option] [user] [shell_args]
Create a shell with the effective user ID user. If no user is specified, create a shell for a privileged user (i.e., become a superuser). Enter EOF to terminate. You can run the shell with particular options by passing them as shell_args (e.g., if the shell runs bash, you can specify -c command to execute command via bash, or -r to create a restricted shell).
Options
Go through the entire login sequence (i.e., change to user's environment).
Execute command in the new shell and then exit immediately. If command is more than one word, it should be enclosed in quotes. For example:
su -c 'find / -name \*.c -print' nobody
Start the shell with the -f option, which suppresses the reading of the .cshrc or .tcshrc file. Applies to csh and tcsh.
Do not reset environment variables.
Execute shell, not the shell specified in /etc/passwd, unless shell is restricted.
Print a help message and then exit.
Print version information and then exit.
Examples
Become root and obtain all of root's user environment:
$ su -
Become root long enough to restart the Apache httpd web server, then revert to the current user:
$ su -c /etc/rc.d/init.d/httpd restart



