su命令是Linux和Unix系统中的一条命令,通常用于切换用户身份,允许用户以不同的身份登录并执行命令。
su命令的语法格式如下:
su [选项] [用户名]
选项:
- -c:允许用户在切换身份后执行指定的命令。
- -f:使用当前用户的环境变量。
- -l 或 -:使用目标用户的环境变量。
- -m 或 -p:使用目标用户的环境变量,并以目标用户的身份登录。
- -s SHELL:指定用户使用的shell程序。如果没有指定,将使用目标用户的默认shell。
用户名:指定要切换到的目标用户的用户名。如果没有指定,将默认切换到root账号。
使用su命令时,需要输入目标用户的密码才能成功切换身份。可以使用exit命令或Ctrl+D组合键来退出切换身份,返回原来的身份。
示例:
- 以root用户身份切换到其他用户账户
su - user1
- 在切换到目标用户账户后,执行一条命令
su -c "ls -l /root" user1
- 在切换到目标用户账户后,使用指定的Shell程序
su -s /bin/bash user1
- 在以非root用户身份执行su时,保留原来用户的环境变量
su -m user1