了解Linux系统的同学肯定都知道su命令,这个命令是用于切换用户身份的,但是你真的了解su命令吗?
我们先看一段脚本,如下:
## 假设以root用户登录了系统,我们执行 “pwd” 命令会显示 /root # pwd ## 此时我们切换到一个普通用户,默认会提示权限不足,而且我们还在 /root 目录下 # su gbb # pwd
以上,我们使用su命令,默认只是切换了用户身份,但是Shell环境还是切换之前的用户Shell环境。
接着向下看,我们继续执行另外的脚本,如下:
## 假设以root用户登录了系统,我们执行pwd命令会显示在 /root 目录 # pwd # 我们用 “su - gbb” 命令来切换到普通用户gbb # su - gbb ## 再次执行 “pwd” 命令,发现目录已变更为 /home/gbb 了 # pwd
总结:
- su
su命令只是切换了用户身份,但是Shell环境还是切换之前的用户Shell环境(环境变量);
- su - [用户名]
通过 “su - 用户名”这种方式切换身份,Shell环境都会跟着切换过来;若切换到root用户,可以简写为:su -
小技巧:
如果在Linux中,程序明明存在,而且也在环境变量PATH路径中,但是运行命令时却提示“command not found”时,可以尝试执行一下 “# su -” 。
怎样,本节是不是GET到新技能了?如果GET到了,欢迎关注我支持一下,如果有什么想说的,同样欢迎在下方评论区留言哦。