linux系统中su 和 su - 的区别

1、linux系统中su 和 su - 都是用于登录用于切换的命令

  su:切换用户,环境变量不变,路径不变

 su - : 切换用户,环境变量随切换用户发生改变,回到家目录

 

测试 su 命令:

复制代码
[root@linuxprobe test]# ls
[root@linuxprobe test]# whoami
root
[root@linuxprobe test]# pwd
/home/test
[root@linuxprobe test]# echo $PATH
/root/miniconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@linuxprobe test]# su linuxprobe  ## 直接切换用户
[linuxprobe@linuxprobe test]$ whoami
linuxprobe
[linuxprobe@linuxprobe test]$ pwd ## 路径未改变
/home/test
[linuxprobe@linuxprobe test]$ echo $PATH  ## PATH环境变量未改变
/root/miniconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
复制代码

 

2、测试su - 命令

复制代码
[linuxprobe@linuxprobe test]$ exit  ## 返回root
exit
[root@linuxprobe test]# whoami
root
[root@linuxprobe test]# ls
[root@linuxprobe test]# pwd
/home/test
[root@linuxprobe test]# echo $PATH
/root/miniconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@linuxprobe test]# su - linuxprobe  ## 使用 su - 切换
Last login: Wed Oct 21 15:28:46 CST 2020 on pts/0
[linuxprobe@linuxprobe ~]$ whoami
linuxprobe
[linuxprobe@linuxprobe ~]$ pwd  ## 回到用户linxprobe家目录
/home/linuxprobe
[linuxprobe@linuxprobe ~]$ echo $PATH  ## PATH环境变量改变
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/linuxprobe/.local/bin:/home/linuxprobe/bin
复制代码

 

posted @   小鲨鱼2018  阅读(698)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示