📅  最后修改于: 2023-12-03 15:35:10.575000             🧑  作者: Mango
在Linux系统中,su是一种切换用户的命令。在使用su命令时,有两个选项,即su -和su,它们之间的区别非常重要。
su命令是将当前用户从默认的用户身份切换到其他用户身份。如果使用su命令而没有跟上其他用户的用户名,则默认切换到root用户,这需要在输入密码时进行验证。
使用su命令的一般语法如下:
su [options] [username]
其中,[username]是要切换到的用户名。如果没有指定用户名,则默认切换到root用户。
su -命令也是将当前用户从默认的用户身份切换到其他用户身份,但与su命令不同的是,它会同时切换用户环境变量,有助于获得完整的用户环境变量,在使用新用户身份时,其运行环境与该用户登录到系统时的运行环境相同。
使用su -命令的一般语法如下:
su - [options] [username]
其中,[username]是要切换到的用户名。如果没有指定用户名,则默认切换到root用户。
su命令只切换用户身份,但并不会同时切换用户环境变量。因此,使用su命令时,新用户身份将不会拥有原始用户的环境变量。而su -命令可以同时切换用户身份和环境变量,从而具有完整的用户环境变量。
在实际应用中,建议在切换到root用户时使用su -命令,以便获取完整的root用户环境变量。
su -命令会同时切换用户身份和环境变量,su命令只切换用户身份。在切换到root用户时,推荐使用su -命令来获取完整的root用户环境变量。