十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
su的全称并不是super user,而是switch user,是不是就突然明白了?是切换用户的意思。su的一般使用方法是su或者su -,两种方法虽然只差了1个字符,但也是有比较大的差异的。
创新互联建站-专业网站定制、快速模板网站建设、高性价比塔城网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式塔城网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖塔城地区。费用合理售后完善,十余年实体公司更值得信赖。
加入了-参数,就是login-shell的方式,也就是说切换到另一个用户之后,当前的shell会加载对应的环境变量和各种设置;
如果没有加入-参数,就是non-login-shell的方式,也就是说当前的shell还是加载切换之前的那个用户的环境变量以及各种设置。
如果不想因为切换到另一个用户导致自己在当前用户下的设置不可用,那么就可以用non-login-shell的方式;如果切换用户后,需要用到该用户的各种环境变量,那么使用login-shell方式即可。
Linux下 su命令与su - 命令的区别:
一、切换root身份不同
1、su命令:su只是切换了root身份,但Shell环境仍然是普通用户的Shell;而su -连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误,报command not found的错误。
2、su - 命令:su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su -命令切换以后,工作目录变成root的工作目录了。
二、采用su deploy命令后,取目标用户不同
1、su命令:su不会读取目标用户的环境配置文件,如图。
2、su - 命令:su - 读取目标用户的环境配置文件,如图。
综上总结:有“-”和无“-”各自的环境变量不同。
三、service命令
1、su命令:使用 su root 切换到root用户后,不可以使用service命令;
2、su - 命令:使用 su - 后,就可以使用service命令了。
四、用echo $PATH命令后,环境量不同
1、su命令:环境量变为usr。
2、su - 命令:环境量变为oracle。
1、切换root身份不同
su命令:su只是切换了root身份,但shell环境仍然是普通用户的shell;而su-连用户和shell环境一切切换成root身份了。只有切换了shell环境才不会出现PATH环境变量错误,报command not found的错误。
su-命令:su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su-命令切换以后,工作目录变成root的工作目录了。
2、采用su deploy命令后,取目标用户不同
su命令:su不会读取目标用户的环境配置文件。
su-命令:su-读取目标用户的环境配置文件。
3、service命令
su命令:使用su root切换到root用户后,不可以使用service命令;
su-命令:使用su-后,就可以使用service命令了。
4、用echo $PATH命令后,环境量不同
su命令:环境量变为usr。
su-命令:环境量变为oracle。