Linux下 su命令与su - 命令有什么区别?

请高手说的详细一点,先谢谢了。su也可以切换到其他用户..我就是那样写的但是师傅说:‘错了。... 请高手说的详细一点,先谢谢了。
su 也可以切换到其他用户..我就是那样写的 但是师傅说:‘错了。
展开
 我来答
射手座的crazy
高粉答主

推荐于2019-10-18 · 专注娱乐综艺节目,带你了解娱乐圈
射手座的crazy
采纳数:42 获赞数:73298

向TA提问 私信TA
展开全部

Linux下 su命令与su - 命令的区别:

一、切换root身份不同

1、su命令:su只是切换了root身份,但Shell环境仍然是普通用户的Shell;而su -连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误,报command not found的错误。

2、su - 命令:su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su -命令切换以后,工作目录变成root的工作目录了。

二、采用su deploy命令后,取目标用户不同

1、su命令:su不会读取目标用户的环境配置文件,如图。


2、su - 命令:su - 读取目标用户的环境配置文件,如图。


综上总结:有“-”和无“-”各自的环境变量不同。

三、service命令

1、su命令:使用 su root 切换到root用户后,不可以使用service命令;

2、su - 命令:使用 su - 后,就可以使用service命令了。

四、用echo $PATH命令后,环境量不同

1、su命令:环境量变为usr。

2、su - 命令:环境量变为oracle。

帐号已注销
推荐于2019-10-25 · TA获得超过1.1万个赞
知道答主
回答量:0
采纳率:100%
帮助的人:0
展开全部

Linux中切换用户的命令是su或su -。
su命令和su -命令最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;
而后者连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误。su切换成root用户以后,pwd
一下,发现工作目录仍然是普通用户的工作目录;而用su -命令切换以后,工作目录变成root的工作目录了。

扩展资料:

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。

它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

常用操作:

  1. 安装: dpkg -i package;

  2. 卸载: dpkg -r package;

  3. 卸载并删除配置文件: dpkg -P |--purge package;

  4. 查看软件包安装内容 :dpkg -L package。

参考资料来源:百度百科-linux

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f27200e
推荐于2019-08-24 · TA获得超过2.6万个赞
知道小有建树答主
回答量:390
采纳率:100%
帮助的人:6.2万
展开全部

Linux下su与su -命令的区别

在启动服务器ntpd服务时遇到一个问题

使用 su root 切换到root用户后,不可以使用service命令;

使用 su - 后,就可以使用service命令了。

原因:

su命令和su -命令区别就是:

su只是切换了root身份,但Shell环境仍然是普通用户的Shell;而su -连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误,报command not found的错误。

su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su -命令切换以后,工作目录变成root的工作目录了。

用echo $PATH命令看一下su和su - 后的环境变量已经变了。

以此类推,要从当前用户切换到其它用户也一样,应该使用su -命令。

扩展资料

Linux 命令大全

1、文件管理    

cat    chattr    chgrp    chmod    

chown    cksum    cmp    diff    

diffstat    file    find    git    

gitview    indent    cut    ln    

less    locate    lsattr    mattrib    

mc    mdel    mdir    mktemp    

more    mmove    mread    mren    

mtools    mtoolstest    mv    od    

paste    patch    rcp    rm    

slocate    split    tee    tmpwatch    

touch    umask    which    cp    

whereis    mcopy    mshowfat    rhmask    

scp    awk    read         

参考资料

linux快捷键

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Linux百科
2020-06-22 · TA获得超过440个赞
知道小有建树答主
回答量:997
采纳率:72%
帮助的人:76.8万
展开全部

su与su -都是用来切换用户的命令,简单说它们之间的区别就是:su -切换的干净彻底,而su
切换用户却拖泥带水。

su

su username,切换到指定用户,但是当前目录不会变化,环境变量还是上一个用户的环境变量。

su -

su - username,切换到指定用户,当前目录即刻切换成指定用户的家目录,即~,环境变量
即刻切换到指定目录的环境变量。

su命令功能说明:切换用户身份。
语  法:su [-flmp][--help][--version][-][-c <指令>][-s <shell>][用户帐号]
补充说明:su可让用户暂时变更登入的身份。变更时须输入所要变更的用户帐号与密码。
参  数:
-c<指令>或--command=<指令>  执行完指定的指令后,即恢复原来的身份。
-f或--fast  适用于csh与tsch,使shell不用去读取启动文件。
-.-l或--login  改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,LOGNAME。此外,也会变更PATH变量。
-m,-p或--preserve-environment  变更身份时,不要变更环境变量。
-s<shell>或--shell=<shell>  指定要执行的shell。
--help  显示帮助。
--version  显示版本信息。
[用户帐号]  指定要变更的用户。若不指定此参数,则预设变更为root。

示例: 

su-clsroot#变更帐号为root并在执行ls指令后退出变回原使用者。suroot-f#变更帐号为root并传入-f参数给新执行的shell。su-test#变更帐号为test并改变工作目录至test的家目录(homedir)。更详细的Linux命令介绍可以去《Linux命令大全》看一下,里面介绍的很全面,查询方式如下图:

































































































































已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lijingsandy
推荐于2017-09-18 · TA获得超过2.4万个赞
知道小有建树答主
回答量:1734
采纳率:93%
帮助的人:175万
展开全部
Linux中切换用户的命令是su或su -。
su命令和su -命令最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;
而后者连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误。su切换成root用户以后,pwd
一下,发现工作目录仍然是普通用户的工作目录;而用su -命令切换以后,工作目录变成root的工作目录了。用echo
$PATH命令看一下su和su -以后的环境变量有何不同。以此类推,要从当前用户切换到其它用户也一样,应该使用su -命令。
1.su的作用是变更为其它使用者的身份,需要键入该使用者的密码(超级用户除外)。

2.格式

su [选项]... [-] [USER [ARG]...]

3.主要参数

-f , --fast:不必读启动文件(如 csh.cshrc 等),仅用于csh或tcsh两种Shell。

-l , --login:加了这个参数之后,就似乎是重新登陆为该使用者一样,大部分环境变量(例如HOME、SHELL和USER等)都是以该使用者(USER)为主,并且工作目录也会改变。假如没有指定USER,缺省情况是root。

-m, -p ,--preserve-environment:执行su时不改变环境变数。

-c command:变更账号为USER的使用者,并执行指令(command)后再变回原来使用者。

USER:欲变更的使用者账号,ARG传入新的Shell参数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式