sudo su和sudo -i的区别
时间: 2024-03-27 10:33:36 浏览: 79
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。
相关问题
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 hdfs -l -c 'hdfs dfsadmin -saveNamespace'
这是一个在Linux系统中执行的命令,含义如下:
- `sudo`: 以管理员权限执行该命令。
- `su hdfs`: 切换当前用户为hdfs用户。
- `-l`: login shell,以登录shell模式启动。
- `-c`: 执行一条命令并退出。
`'hdfs dfsadmin -saveNamespace'` 是需要执行的命令。它的作用是让HDFS(Hadoop分布式文件系统)的NameNode节点将内存中的文件系统元数据持久化到磁盘上,以保证在系统宕机或重启后能够恢复文件系统的正确状态。
阅读全文