su命令主要就是切换用户。
先问个问题,以下几个命令的区别:
su
su -
su chushiyun
答出来的可以不看了。
su 不带参数是什么意思
无参默认切换到root用户(不切换环境变量),相当于:
su root # 注意,没有 -
su - 中的横杠表示什么意思
是登录的意思,以下3种写法都是一个意思:
-
-l
--login
作用大体如下(详情见man su):
切换环境变量
切换目录
使shell成为登录shell #
清除除了team外的所有环境变量 #
其实只要记住 切换环境变量、切换目录 就好。
回到开头的问题:
su # = su root
su chushiyun #
su - # = su - root
一句话概括: 无参表示root,无杠表示只切换用户(不登录)(不带环境变量/路径)