这个命令是干什么的?sudo -i?
我不确定我是否应该只发一个帖子来提出这个问题,但由于我是 Linux 新手,还有很多问题和疑问,所以我决定继续问下去。我想这应该不会有什么坏处。
非常感谢您的帮助:)
答案1
sudo -i
以 root 身份启动另一个 bash 会话,并使用该目录/root
作为主目录。如果你想进入 root shell,你几乎应该使用sudo -i
要使用当前用户的目录作为主目录,请使用sudo -s
。切勿从以 启动的 shell 启动 GUI 应用程序sudo -s
。该过程可能会将一些重要文件的所有权转移给 root 用户,因此您无法再使用它们!因此,使用sudo -i
进入您想要从中执行 GUI 应用程序的 root shell。
如果您只想以 root 身份执行程序,请使用sudo program
命令行程序和gksudo program
GUI 应用程序。
答案2
的行为sudo -i
有据可查man sudo
(第 137 行某处):
-i, --login Run the shell specified by the target user's password data‐ base entry as a login shell. This means that login-specific resource files such as .profile or .login will be read by the shell. If a command is specified, it is passed to the shell for execution via the shell's -c option. If no command is specified, an interactive shell is executed. sudo attempts to change to that user's home directory before running the shell. The command is run with an environment similar to the one a user would receive at log in. The Command Environment section in the sudoers(5) manual documents how the -i option affects the environment in which a command is run when the sudoers policy is in use.
也可以看看: