su
命令在Linux中的全称是Switch User,它用于切换到另一个用户,或者在默认情况下切换到超级用户(root)。
su
命令在大多数Linux发行版中都可以使用。在一些Linux发行版中,例如Ubuntu,出于安全考虑,默认禁用了root用户账户。在这种情况下,你可以使用sudo su -
命令来切换到root用户。
[linux@bashcommandnotfound.cn ~]$ sudo su -
su
命令的基本语法如下:
su [options] [username [arguments]]
以下是su
命令的一些常用选项:
选项 | 说明 |
---|---|
-c or --command [command] | 以指定用户身份运行特定命令 |
-l or --login [username] | 运行登录脚本以切换到特定用户名 |
-s or --shell [shell] | 允许你指定要运行的不同shell环境 |
-p or --preserve-environment | 保留shell环境(HOME, SHELL, USER, LOGNAME) |
以下是一些su
命令的实例:
[linux@bashcommandnotfound.cn ~]$ su -l [other_user]
[linux@bashcommandnotfound.cn ~]$ su -c [command] [other_user]
[linux@bashcommandnotfound.cn ~]$ su -s /usr/bin/zsh
[linux@bashcommandnotfound.cn ~]$ su -p
[linux@bashcommandnotfound.cn ~]$ su -c 'ls -l' [other_user]
这个命令会以other_user
用户的身份运行ls -l
命令,列出当前目录下的所有文件和目录。
[linux@bashcommandnotfound.cn ~]$ su -c 'apt-get update'
这个命令会以root用户的身份运行apt-get update
命令,更新Ubuntu系统的软件包列表。
[linux@bashcommandnotfound.cn ~]$ su -s /bin/bash
这个命令会切换到root用户,并运行bash shell。
[linux@bashcommandnotfound.cn ~]$ su -p [other_user]
这个命令会切换到other_user
用户,并保留当前的环境变量。
su
命令时,你需要知道你要切换到的用户的密码。su
命令时遇到了bash: su: command not found
的错误,那么你可能需要安装su
命令。在大多数Linux发行版中,su
命令通常是预装的,所以你很少会遇到这个问题。更多详细内容可以参考:
linux入门学习教程 - Linux入门自学网
Linux su命令:如何轻松地切换用户和执行高级操作(附实例)