linux使用中常会使用su来切换用户

使用su切换为tom用户

[root@bogon ~]# su tom
[tom@bogon root]$

[tom@bogon root]$ pwd
/root

使用su切换回root用户

[tom@bogon root]$ su root
密码:
[root@bogon ~]#pwd

/root

使用su - 切换为tom用户

[root@bogon ~]# su - tom
上一次登录:日 8月 26 23:25:13 CST 2018pts/0 上
[tom@bogon ~]$ pwd

/home/tom

使用su - 切换为root用户

[tom@bogon ~]$ su - root
密码:
上一次登录:日 8月 26 23:27:11 CST 2018pts/0 上
[root@bogon ~]# pwd

/root

su命令和su -命令最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;而后者连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误。su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su -命令切换以后,工作目录变成root的工作目录了。用echo $PATH命令看一下su和su -以后的环境变量有何不同。以此类推,要从当前用户切换到其它用户也一样,应该使用su -命令。

用su - 切换后,环境变量就不同了:

[root@bogon ~]# su - tom
上一次登录:日 8月 26 23:42:04 CST 2018pts/0 上
[tom@bogon ~]$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/usr/local/python3/bin:/home/tom/.local/bin:/home/tom/bin
[tom@bogon ~]$ su - root
密码:
上一次登录:日 8月 26 23:41:41 CST 2018从 192.168.16.55pts/0 上
[root@bogon ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/python3/bin:/root/bin
[root@bogon ~]#

转载于:https://www.cnblogs.com/lucaq/p/6899810.html

linux下su和su - 的区别相关推荐

  1. linux中fopen和open的区别,Linux下open与fopen的区别

    int open(const char *path, int access,int mode) path 要打开的文件路径和名称 access 访问模式,宏定义和含义如下: O_RDONLY      ...

  2. linux 下的 source,sh,./三者区别

    前言 工作中遇到的问题,总结一下,参考较多文章总结的,若有错误,望请指出,谢谢! source Linux source命令: 通常用法:source filepath 或 . filepath 它的 ...

  3. Linux下useradd与adduser的区别

    Linux下创建用户时会用到useradd和adduser这两个命令,他们的区别如下: 1.使用useradd时,如果后面不添加任何参数选项,例如:#sudo useradd test创建出来的用户将 ...

  4. linux ide sata硬盘,Linux 下SATA与IDE硬盘区别

    linux下看到的sda字样表示该机器是IDE模式的硬盘,看到sda字样表示机器是SATA模式的硬盘 解析: 使用df -lh(df -h)可以清晰的查看硬盘使用情况 [root@localhost ...

  5. Linux下tmpfs与ramfs的区别

    转自:http://www.linuxidc.com/Linux/2012-11/74356.htm ramfs是Linux下一种基于RAM做存储的文件系统.在使用过程中你就可以把ramfs理解为在普 ...

  6. WINDOWS下与LINUX下写C程序的区别

    要开始编程了,先熟悉下工具,查到的以下资料,有的是说系统区别,有的是说编程区别: 1.如果没有涉及系统独有的库函数或者编程方法(即只用符合ANSI C标准的代码和方法),就没有区别. 如果涉及到系统编 ...

  7. linux 下.bashrc和.profile的区别

    /etc/profile:   这个文件是系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置. /etc/bashrc ...

  8. 【小知识】linux下ls与ll的区别

    在 Linux 系统中,ls 和 ll 命令都是用来列出目录内容的命令,它们的区别如下: ls 命令:是一个简单的文件列表命令,它会列出目录下的文件和子目录的名称,并显示它们的属性和权限等信息. ll ...

  9. linux下cron和cron的区别,Linux环境下` `与$()用法的区别eval和crontab的意义

    命令替换是指shell能够将一个命令的标准输出插在一个命令行中任何位置.shell中有两种方法作命令替换:把shell命令用反引号或者$(...)结构括起来,其中,$(...)格式受到POSIX标准支 ...

  10. linux下-exec和xargs的区别

    原文地址:http://blog.csdn.net/arganzheng/article/details/6260720 -exec和xargs的区别 2010-11-27 星期六 晴朗 当你在命令行 ...

最新文章

  1. NAT穿透工具pwnat
  2. affiliate的使用方式
  3. SQL Server分页查询存储过程
  4. 创建型模式——抽象工厂模式
  5. java parseint()
  6. php get请求_《细说PHP》第四版 样章 第23章 自定义PHP接口规范 10
  7. 7——1 shelve 模块
  8. 菜鸟学python集训云_菜鸟学Python,老司机给新手总结的Python实战问题
  9. 80个练手H5小游戏实例DEMO和源码
  10. Github上最热门的11个Java开源项目你会了吗
  11. YY前端HTML规范
  12. 易到用车服务器修复了提现,易到用车提现最新消息 易到用车跑路了吗?
  13. 百度贴吧发帖的方法技巧
  14. 知识图谱在应用过程中,主要面临哪些困难?
  15. mysql磁盘读写每秒多少正常_一般硬盘读取速度和写入速度是多少
  16. 网络技术基础测试(一)
  17. SVG 的平移、旋转和缩放
  18. Scheduler-Framework中的Permit使用和注意事项
  19. 小熊派移植 TencentOS-tiny+EC20+SAL框架对接 TCP/UDP 服务器
  20. JAVA热部署神器,JRebel破解版,JRebel免费实用插件

热门文章

  1. 实现网页中增加刷新按钮、链接的方法 搜集
  2. 简单的相似图片搜索的原理
  3. Mysql 授权控制
  4. 建立项目的webpack简单配置
  5. 彩虹背光:芝奇推出KM570 RGB机械游戏键盘
  6. HTML事件的执行顺序
  7. 王高利:awstats
  8. 给Fedora 15的gnome3增加自定义程序快捷方式
  9. Centos6.3下利用rsyslog+loganalyzer+mysql部署日志服务器
  10. SQLServer创建用户自定义数据库用户