专栏首页犀牛饲养员的技术笔记一分钟知识点:linux命令之su 和 su -

一分钟知识点:linux命令之su 和 su -

本篇给大家分享一个我们在工作中经常使用的一个小知识点。

简单俩说,su 或者 su - 都是用来切换用户的,格式如下,

su [-] username 

不带 username 表示切换到 root

二者的区别在于,su 只是切换了用户身份,但是 shell 还是原来的用户的,那属于原 shell 的环境变量依然生效。有时候我们发现明明切换了用户,但是有些命令还是执行不了,就是因为用户虽然切换了,但是环境变量还是之前用户的。

多说无用,上个栗子。

我有两个用户,user1和user2,他们的环境变量不相同。

先来看下各自的环境变量,

user1,

$ echo $PATH
/usr/local/java/jdk1.8.0_161/bin:/usr/local/java/jdk1.8.0_161/jre/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/local/mysql/bin

user2,

user2@iZ2ze82p1dogvdrx4fu0i7Z:~$ echo $PATH
/home/user2/bin:/home/user2/.local/bin:/usr/local/java/jdk1.8.0_161/bin:/usr/local/java/jdk1.8.0_161/jre/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

我们先用 su 命令看看效果,

user2@iZ2ze82p1dogvdrx4fu0i7Z:/home/user1$ su user1
Password: 
user1@iZ2ze82p1dogvdrx4fu0i7Z:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
user1@iZ2ze82p1dogvdrx4fu0i7Z:~$ 

可以看到,切换到了user1后,打印的环境变量还是user2的。

再用 su - 对比看看效果,

user2@iZ2ze82p1dogvdrx4fu0i7Z:~$ su - user1
Password: 
$ echo $PATH
/usr/local/java/jdk1.8.0_161/bin:/usr/local/java/jdk1.8.0_161/jre/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/local/mysql/bin
$ 

很明显,环境变量也切换过来了。

本文分享自微信公众号 - 犀牛饲养员的技术笔记(coder_start_up),作者:siwuxie18

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-09-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 这可能是讲雪花算法最全的文章

    snowflake中文的意思是 雪花,雪片,所以翻译成雪花算法。它最早是twitter内部使用的分布式环境下的唯一ID生成算法。在2014年开源。开源的版本由s...

    用户7634691
  • 天呐,经常用的sudo居然有漏洞?

    这两天看到一个新闻让我很是震惊,linux上最常用的命令之一, sudo 命令居然被爆出有安全漏洞。作为一个程序员,可以说几乎天天和这个命令打交道,哪能想到这么...

    用户7634691
  • 你真的会用volatile吗

    volatile的概念volatile详解什么时候需要使用volatilevolatile在标准库里的应用volatile会降低程序执行的效率volatile不...

    用户7634691
  • Linux服务器硬盘空间监控 原

    用户2836074
  • python2升级到python3

    1. 从Python官网到获取Python3的包, 切换到目录/usr/local/src

    py3study
  • centos多版本php配置多版本composer

    Eller
  • shell 安装 composer

    魔王卷子
  • Debian服务器之安装Python3.

            Linux lnnkee 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 G...

    py3study
  • Python数据科学:决策树

    在建树步骤中,首先选择最有解释力度的变量,接着对每个变量选择最优的分割点进行剪树。

    数据森麟
  • 关于python2&python3并存使用

    ~~cd /usr/bin~~ ~~mv python python.backup~~ ~~ln -s /usr/local/bin/python3.6 /u...

    以谁为师

扫码关注云+社区

领取腾讯云代金券