描述sudo -s和sudo -i的区别
时间: 2024-05-07 10:12:55 浏览: 11
sudo -s和sudo -i都是用于以超级用户身份运行命令的sudo命令的选项。它们之间的区别如下:
1. sudo -s:该选项允许用户以超级用户(root)的身份启动一个新的shell。这个新的shell会继承当前用户的环境变量,并且用户可以在这个shell中执行需要超级用户权限的命令。但是,sudo -s并不会改变当前用户的工作目录。
2. sudo -i:该选项也允许用户以超级用户身份启动一个新的shell,但是与sudo -s不同的是,sudo -i会将当前用户的环境变量完全替换为超级用户的环境变量,并且会将当前用户的工作目录切换到超级用户的主目录(即root用户的主目录)。
总结一下:
- sudo -s启动一个新的shell,继承当前用户的环境变量,但不改变工作目录。
- sudo -i启动一个新的shell,完全替换当前用户的环境变量,并切换到超级用户的主目录。
相关问题
sudo -i和sudo -s的区别是什么
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 -i和sudo su区别
sudo -i和sudo su都可以让用户以root身份登录,但是它们之间有一些区别:
1. sudo -i会启动一个新的shell,这个shell会以root用户的环境变量和工作目录启动。而sudo su则不会启动新的shell,它只是切换到root用户。
2. sudo -i会读取root用户的.bashrc文件,而sudo su则不会读取。
因此,如果你需要完全以root用户的身份登录并使用root用户的环境变量和工作目录,那么使用sudo -i是更好的选择。如果你只需要切换到root用户执行一些命令,那么使用sudo su就可以了。