sudo -i干嘛的
时间: 2024-07-13 07:00:26 浏览: 58
`sudo -i` 是一个Linux和类Unix系统中的命令,它允许用户以root或超级用户权限执行后续的命令行会话。当你使用 `sudo -i` 时,它会启动一个新的交互式shell,这个shell是以超级用户的身份运行的,意味着你可以执行所有root级别的操作,如安装软件、修改系统配置等。
相关问题--
1. 除了sudo,还有其他方式以root权限运行命令吗?
2. 在什么情况下你会使用sudo -i而不是直接用sudo执行命令?
3. 如何确保在使用sudo -i后安全地操作,避免意外的系统更改?
相关问题
sudo -i和sudo -s的区别
`sudo -i` 和 `sudo -s` 都是 Linux 命令行中用来获取 root 权限(超级用户权限)的工具,但它们的功能稍有不同。
1. `sudo -i`(切换到root用户并打开新shell会话):
当你执行 `sudo -i` 时,它会创建一个新的 shell 会话,并且立即用 root 用户的身份登录。这意味着所有后续的命令都在新的根用户环境中运行,直到会话结束。这通常用于需要长期或者交互式地以root身份工作的场景。
2. `sudo -s`(启动一个rootshell子进程):
相比之下,`sudo -s` 只是启动一个新的子shell进程,当前用户的会话继续保持,而新启动的shell将作为root用户运行。在新进程中,你可以输入命令,一旦关闭这个子shell或退出,你将返回到普通用户环境。这种方法更适合于临时执行单个命令或需要执行一些管理任务的情况。
总结一下区别:
-i` 后的效果相当于直接执行 `/bin/bash --login`(登录shell),新开一个完整的工作区;
- `-s` 后则是在当前shell环境下切换用户,只影响后续执行的命令。
描述sudo -s和sudo -i的区别
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,完全替换当前用户的环境变量,并切换到超级用户的主目录。