linux su和sudo命令的区别

2025-04-13 12:39:11
推荐回答(4个)
回答1:

主要区别如下:

1、内容不同

su命令:用于切换用户,substitute英文含义“代替”的意思。

sudo命令:为superuser do 的简写,即使用超级用户来执行命令,一般是指root用户。

2、用法不同

su命令:不加用户名默认是切换为root用户,切当前目录不改变,其他环境变量不变。

sudo命令:查看当前用户可以用sudo执行的命令都有哪些。

3、环境不同

su命令:切换到root用户,但是并没有转到root用户家目录下,即没有改变用户的环境。

sudo命令:是当前用户切换到root,然后以root身份执行命令,执行完成后,直接退回到当前用户,而这些的前提是要通过sudo的配置文件/etc/sudoers来进行授权。

su和sudo各有优点,适当用于预期的用例时,两者都表现不俗。我偏爱用su处理自己的大部分工作,因为它最适合我和我的工作流程。

回答2:

su表示切换用户命令命令,如:
输入:su命令后回车表示切换当前的用户到root用户,或者:
输入:su - root(或者其他用户名)这里加了"-"后表示也切换的当前的环境变量到新用户的环境变量,su root(或者其他用户名)表示不切换环境变量到当前用户下。

sudo 表示获取临时的root权限命令,如:
sudo gedit /etc/shadow,表示临时使用root权限来编辑/etc/shadow密码文件,因为/etc/shadow密码文件需要使用root权限才能打开与编辑。所以这里使用了sudo命令临时使用root权限来做一些普通账户无法完成的工作~

回答3:

su 是切换用户
如:su - test是指当前用户切换到test用户下;

sudo是以某个用户的身份(或者叫特权)执行一些命令
如:sudo fdisk -l 以root身份执行fdisk -l命令,并查看结果。

回答4:

sudo 是用root权限执行一个命令
su 是切换用户