事实上,您提到的命令执行两个不同的任务。
su
是一个用于切换到另一个用户的程序。如果执行,您将作为另一个用户su <user>
启动 shell 会话。sudo
允许您以 root 用户身份运行单个命令。sudo su
su
允许您以 root 身份运行。如果执行,您将以用户身份sudo su <user>
启动 shell 会话。然后,
sudo su ls
将以用户身份启动 shell ls
(如果存在)。sudo ls
将列出目录的内容,就像该命令是由 root 用户发出的一样。如果您对两个等效命令感兴趣,您可以考虑...
sudo bash -c "ls" # execute "ls" as the root
sudo ls # execute "ls" as the root
Run Code Online (Sandbox Code Playgroud)