"sudo -i" 和 "sudo su" 都是用于以另一个用户的身份运行命令的方式。它们的区别在于:
-
"sudo -i" 表示以目标用户的身份登录并启动一个登录式的shell,这意味着当前环境变量会被清除并且只保留目标用户的环境变量。
-
"sudo su" 则是切换用户到目标用户,但并不会启动一个登录式的shell。当前环境变量会保留,并且会直接切换到目标用户的家目录。
在大多数情况下,这两个命令可以实现相同的目的,但如果需要在新的用户环境中执行命令,建议使用 "sudo -i"。如果说是要接着当前的目录实行命令,则使用"sudo su"