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

作者&投稿:杜虾 (若有异议请与网页底部的电邮联系)
Linux下 su命令与su - 命令的区别是什么~

1、切换root身份不同su命令:su只是切换了root身份,但shell环境仍然是普通用户的shell;而su-连用户和shell环境一切切换成root身份了。只有切换了shell环境才不会出现PATH环境变量错误,报command not found的错误。su-命令:su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su-命令切换以后,工作目录变成root的工作目录了。2、采用su deploy命令后,取目标用户不同su命令:su不会读取目标用户的环境配置文件。su-命令:su-读取目标用户的环境配置文件。3、service命令su命令:使用su root切换到root用户后,不可以使用service命令;su-命令:使用su-后,就可以使用service命令了。4、用echo $PATH命令后,环境量不同su命令:环境量变为usr。su-命令:环境量变为oracle。

su 与su - 切换用户最明显的区别就是su - 切换后就会回到用户的主目录,
比如su - abc 然后pwd就会发现回到了/home/abc
环境变量也是一个区别。

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。



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



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快捷键



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命令大全》看一下,里面介绍的很全面,查询方式如下图:



































































































































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参数。


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

阿里地区17030838396: linux命令,su与su_的区别 -
朱蚂布林: su 与su - 切换用户最明显的区别就是su - 切换后就会回到用户的主目录,比如su - abc 然后pwd就会发现回到了/home/abc 环境变量也是一个区别.

阿里地区17030838396: Linux里面su和sudo区别是什么? -
朱蚂布林: 1、定义上: su为switch user,即切换用户的简写.su是最简单的身份切换名,用su我们能够进行不论什么用户的切换,一般都是su - username,然后输入password就ok了,可是root用su切换到其它身份的时候是不须要输入password的. sudo...

阿里地区17030838396: Linux 中sudo和su用法,请举下例子说明. -
朱蚂布林: 比如我要删除一个文件叫test,运行"rm test" 结果这个文件不属于我,没有权限删除,这时候就可以"sudo rm test",就会让你输入密码,输入后就可以删除了;至于su,在终端运行su -之后就直接变成root登陆了

阿里地区17030838396: linux系统的su命令 -
朱蚂布林: sudo只是获得了root权限执行后面的命令,而su是需要切换用户,得到root的User ID和Group ID,相当于开启一个新的login session.可能你的系统中为了安全性,设置为禁止切换到root用户,而只能通过sudo执行管理操作.最后如楼上所建议的,如果是在学习Linux,最好还是装一个常见的发行版吧,出了问题也更容易找到解决的办法.

阿里地区17030838396: Linux su和sudo命令的区别,并获得root权限 -
朱蚂布林: su表示切换用户命令命令,如:输入:su命令后回车表示切换当前的用户到root用户,或者:输入:su - root(或者其他用户名)这里加了"-"后表示也切换的当前的环境变量到新用户的环境变量,su root(或者其他用户名)表示不切换环境变量到当前用户下.sudo 表示获取临时的root权限命令,如:sudo gedit /etc/shadow,表示临时使用root权限来编辑/etc/shadow密码文件,因为/etc/shadow密码文件需要使用root权限才能打开与编辑.所以这里使用了sudo命令临时使用root权限来做一些普通账户无法完成的工作~

阿里地区17030838396: 在现实中,Linux中su和sudo命令,哪个用得比较多? -
朱蚂布林: sudo 用到的比较多. 因为su切换到root用户之后进行的很多操作系统都不会提醒你.如果删除一些系统文件就非常危险了.所以su比较危险.建议用sudo

阿里地区17030838396: linux命令中su是什么意思 -
朱蚂布林: 切换到其他系统用户 比如: su - root su - mysql 切换回root一般需要输入密码

阿里地区17030838396: Linux:这两个su的使用有什么区别呢? -
朱蚂布林: su 用户 代表切换用户 但是 环境变量保持现在的用户的环境变量 su - 用户 和 su -l 用户 是一样的 表示切换用户 并载入那个用户的环境变量

阿里地区17030838396: linux菜鸟求问 $ su - 是什么?怎么弄出来的呀?? -
朱蚂布林: su 代表的是switch user切换用户,可以使用man命令查看详细参数 不带参数的话是切换到root根用户,root用户的提示符为#,普通用户提示符为$

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网