sudo -i和sudo -s的区别是什么
时间: 2023-08-05 15:55:44 浏览: 103
sudo -i和sudo -s都可以切换到超级用户模式,即root权限,但二者还是有一些区别的:
1. 环境变量不同:sudo -i 切换到root用户时会将当前用户的环境变量全部清除并加载root用户的环境变量,而sudo -s 切换到root用户时仍然保留当前用户的环境变量。
2. 默认工作目录不同:sudo -i 切换到root用户时的默认工作目录是root用户的家目录,而sudo -s 切换到root用户时的默认工作目录是当前用户的工作目录。
3. 可执行文件搜索路径不同:sudo -i 切换到root用户时会重新设置可执行文件搜索路径,而sudo -s 不会重新设置。
总的来说,sudo -i 更像是新开一个root用户的会话,sudo -s 则更像是在当前会话下切换到root用户。
相关问题
sudo -l -s
sudo -l命令用于显示当前用户(执行sudo命令的用户)的权限。而sudo -s命令则是切换到root用户并打开一个新的shell窗口。如果您想在切换到root用户的同时保留当前用户的环境变量,可以使用sudo -i命令。因此,sudo -l -s命令的作用是显示当前用户的权限并切换到root用户的shell窗口。
注意:在使用sudo命令时,请务必小心谨慎,确保您知道自己在做什么,以免造成不必要的损失。
使用sudo -i 切换用户后,全局变量会刷新
是的,当使用sudo -i切换用户时,当前用户的环境变量和全局变量会被刷新,变成新用户的环境变量和全局变量。这是因为sudo -i会启动一个新的shell,以新用户的身份运行。如果需要保留原来用户的环境变量和全局变量,可以使用sudo -s命令。