su和sudo的用法及举例
时间: 2023-03-15 07:22:15 浏览: 102
su和sudo都是Linux系统中的命令,用来更改当前用户的身份。su可以用来切换到其他用户,而sudo可以用来以其他用户的身份执行某些操作。例如,可以使用su命令将当前用户切换到root用户:su - root;可以使用sudo命令以root用户的身份执行某些操作:sudo apt-get update。
相关问题
sudo su 和sudo su -
sudo su和sudo su -都是用于切换用户的命令,其中sudo su是切换到root用户,而sudo su -则是切换到root用户并且切换到root用户的家目录。具体的解释如下:
1. sudo su
sudo su命令用于切换到root用户,需要输入当前用户的密码。执行该命令的用户必须在sudoers中才可以。使用该命令后,当前用户的命令行前缀会变成root@主机名,表示已经切换到root用户。
2. sudo su -
sudo su -命令也是用于切换到root用户,但是它会同时切换到root用户的家目录。执行该命令的用户必须在sudoers中才可以。使用该命令后,当前用户的命令行前缀会变成root@主机名,表示已经切换到root用户,并且当前所在目录为root用户的家目录。
下面是两个例子:
1. sudo su
```shell
$ sudo su
[sudo] password for 用户名:
root@主机名:~#
```
2. sudo su -
```shell
$ sudo su -
[sudo] password for 用户名:
root@主机名:~#
```
sudo su和sudo -i的区别
sudo su和sudo -i都是用于切换用户身份的命令,但它们有一些区别。
1. sudo su:
- 使用sudo su命令后,需要输入当前用户的密码,然后切换到root用户。
- 切换到root用户后,会保留当前用户的环境变量,包括当前目录、PATH等。
- 使用exit命令可以退出root用户,返回到之前的用户身份。
2. sudo -i:
- 使用sudo -i命令后,同样需要输入当前用户的密码,然后切换到root用户。
- 切换到root用户后,会重置环境变量,使用root用户的默认环境变量。
- 使用exit命令可以退出root用户,返回到之前的用户身份。
总结一下:
- sudo su切换到root用户时会保留当前用户的环境变量,而sudo -i则使用root用户的默认环境变量。
- 如果你需要在root用户下执行一些需要当前用户环境变量的操作,可以使用sudo su;如果你需要在root用户下执行一些需要root用户默认环境变量的操作,可以使用sudo -i。