Linux中切换用户的命令是su或su -。su命令和su -命令最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;而后者连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误。su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su -命令切换以后,工作目录变成root的工作目录了。用echo?$PATH命令看一下su和su -以后的环境变量有何不同。以此类推,要从当前用户切换到其它用户也一样,应该使用su -命令。要学习linux命令可以看看《linux就该这么学》。
2. linux命令怎么让su后的命令执行
可以使用 <<EOF 参数实现。
脚本内容:
cat test.sh
代码如下:
#!/bin/bash
su - test <<EOF
pwd;
exit;
EOF
当然也可以用下面的命令来执行
代码如下:
su - test -c "pwd"
ps:
切换用户只执行一条命令的可以用: su - oracle -c command
切换用户执行一个shell文件可以用:su - oracle -s /bin/bash shell.sh
3. linux su和sudo命令的区别
1、内容不同:
su命令:用来切换用户,substitute英文含义“代替”的意思。
sudo命令:sudo为superuser do 的简写,即使用超级用户来执行命令,一般是指root用户。
2、用法不同:
su命令:不加用户名默认是切换为root用户,切当前目录不改变,其他环境变量不变。
sudo命令: 查看当前用户可以用sudo执行的命令都有哪些。
3、环境不同:
su命令:切换到root用户,但是并没有转到root用户家目录下,即没有改变用户的环境。
sudo命令:是当前用户切换到root,然后以root身份执行命令,执行完成后,直接退回到当前用户,而这些的前提是要通过sudo的配置文件/etc/sudoers来进行授权。
su的参数:
-c<指令>或--command=<指令>:执行一个指令后就恢复原来的身份;
-f或--fast:使shell不用读取启动文件,适用于csh和tcsh;
-,-l,--login:切换用户时,使环境变量(home,shell,user,logname,path等)和欲切换的用户相同、不使用则取得用户的临时权限;
-m,-p,:变更身份时,保留环境变量不变;
-s<shell>,--shell=<shell>:指定执行命令的shell;
--help:显示帮助;
--version:显示版本信息;
用户账户:指定欲切换用户,默认切换为root。
4. Linux下 su命令与su - 命令有什么区别
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不会读取目标用户的环境配置文件,如图。
综上总结:有“-”和无“-”各自的环境变量不同。
三、service命令
1、su命令:使用 su root 切换到root用户后,不可以使用service命令;
2、su - 命令:使用 su - 后,就可以使用service命令了。
四、用echo $PATH命令后,环境量不同
1、su命令:环境量变为usr。
2、su - 命令:环境量变为oracle。
5. linux命令中su是什么意思
切换到其他系统用户
比如:
su - root
su - mysql
切换回root一般需要输入密码
6. Linux下su命令怎么使用
脚本内容:
cat test.sh
代码如下:
#!/bin/bash
su - test <<EOF
pwd;
exit;
EOF
当然也可以用下面的命令来执行
代码如下:
su - test -c "pwd"
ps:
切换用户只执行一条命令的可以用: su - oracle -c command
切换用户执行一个shell文件可以用:su - oracle -s /bin/bash shell.sh
7. 关于linux中的su命令
ubuntu的su命令需要先设置root密码
sudo passwd root 输入密码
取得密码后在用
su切换到root就可以了
root是linux下的超级用户具有系统管理员的权限
8. CAD中,SU这个命令该怎么用
SU是差集命令,画两个大小不一的圆,拉伸成实体,用SU命令大圆减小圆,中间就变成了空的,
差集命令,第一次要求 选择对象 时选择 父体(被减对象),回车;第二次要求 选择对象 时选择 子体(要减去的对象),回车 完成操作。而不是一次性同时选中 父体 和 子体。这一点是 差集 不同于 并集、交集 的地方。
9. linux中 su - 的含义,及其作用是什么
su并不是真正地切换用户,它只是改变身份的一个命令而已,你可以把它当做一种嵌套,当你以root身份执行su yph命令时,下面的命令便会以yph用户的身份执行,但是值得注意的一点是当前的环境变量、工作目录等全都没有改变,也就是说仍在root使用的环境变量中,此时执行pwd查看当前工作目录应该会输出“/root”,当再以yph身份执行su - root命令后,你便又是以root身份执行命令了,可是此时的情况应该是:
root环境/yph身份/root身份
即当你输入logout时便会返回到:“/root环境/ypt身份”下,在此环境再输入logout则可能会显示“bash: logout: not login shell: use `exit'”,即当前yph用户所用的shell中没有logout,因为logout命令需要以root身份执行,此时正确的做法是执行exit命令,便会到退出到root下,即为刚进入root用户时的状态
10. 关于Linux中su的命令
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)。