核心答案是:单条命令用sudo,持续操作用sudo -i。sudo临时提权、输当前用户密码、保留原环境;sudo -i加载完整root环境、输当前用户密码、进入/root目录;su -需root密码且默认禁用,安全性低。

Linux 下切换到超级管理员(root)执行命令,核心思路是“临时提权”或“完全切换”,不建议长期以 root 身份操作。关键看你要执行的是单条命令,还是需要进入 root 环境持续操作。
只执行一条需要 root 权限的命令
用 sudo 最安全、最常用:
- 直接在命令前加
sudo,例如:sudo apt update或sudo systemctl restart nginx - 首次使用时会提示输入当前普通用户的密码(不是 root 密码),验证通过后立即执行
- 该权限默认有效期为 15 分钟(多数发行版),超时后再次 sudo 仍需输密码
- 确保你的用户已加入 sudoers —— 若提示 “xxx is not in the sudoers file”,需先用 root 登录后运行
visudo添加权限
进入完整的 root 命令行环境
适合需要连续执行多条管理命令的场景(如批量修改系统配置、调试服务):
-
sudo -i:推荐方式。加载 root 的完整环境(/root目录、PATH、bashrc等),输入当前用户密码即可 -
sudo su -:效果同上,本质是sudo启动一个su -进程,也依赖当前用户有 sudo 权限 -
su -:直接切换,但需知道并输入root 用户的密码;若尚未设置 root 密码,得先用sudo passwd root设置
退出 root 环境
无论用哪种方式进入 root,退出都一样简单:
- 输入
exit回车 - 或按
Ctrl + D(发送 EOF 信号) - 终端提示符从
#变回$,就说明已回到普通用户
注意事项
避免误操作导致系统异常:
- 不要长期以 root 身份登录桌面或运行图形程序,容易误删关键文件
-
su(不带-)和su -有区别:前者保留原用户环境,后者完全切换,日常建议用带-的版本 - Ubuntu/Debian 等默认禁用 root 密码,优先走
sudo路径;CentOS/RHEL 默认启用 root,可直接su -


















