sudo -i与sudo su的区别

sudo -isudo su 都用于以超级用户(root)的身份运行命令,但两者有以下区别:

  1. 参数: sudo -i 中的 -i 表示以交互式方式登录为超级用户,会执行超级用户的登录脚本(例如.bashrc),创建一个新的登录会话。而 sudo su 不需要参数,它会使用超级用户的默认shell来创建一个新的 shell 会话。

  2. 环境变量:sudo -i 会将环境变量设置为超级用户的环境变量,而 sudo su 仅仅是切换到超级用户的身份,保持原来用户的环境变量。

  3. 历史记录:sudo -i 会保存命令历史记录到超级用户的家目录下的.bash_history文件中,而 sudo su 不会保存命令历史记录。

总结:如果你需要完全切换到超级用户的身份并且需要超级用户的环境变量和命令历史记录,使用 sudo -i;如果你只需要暂时以超级用户的身份运行某个命令,并且保持当前用户的环境变量,可以使用 sudo su

你可能感兴趣的:(Linux基础,linux)