su 和 su - 是用于切换用户的命令,但它们在行为上有一些重要的区别。
su 命令
su 是 "switch user" 的缩写,用于切换到另一个用户的身份,但不改变环境变量。
当您使用 su 命令切换到另一个用户时,环境变量(包括路径、用户目录等)并不会被修改。
举个例子,如果您从普通用户切换到另一个用户,您将会以目标用户的身份登录,但是当前的环境变量可能还是来源于原始用户,这可能会导致一些路径或设置的混淆。
su - 命令
su - 命令也被称作 "su -l"(dash ell)或 "su --login",它同样用于切换到另一个用户的身份,但是与简单的 su 不同的是,它会启动一个完整的登录会话。
使用 su - 命令登录后,会话会以目标用户的身份启动,并且包括了目标用户的环境变量和配置文件。
这意味着,通过 su - 切换用户后,您会进入一个完全新的Shell会话,就好像您以目标用户登录一样。
总结来说,su 命令主要用于快速切换用户,而 su - 命令用于完全以目标用户的身份启动一个新的Shell会话,包括环境变量和配置文件。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。