Linux中su命令使用详解

最近每天都在用su命令,却一直没去查它的具体用法,也没出过问题。今天用su切换到oracle用户下去执行一条命令,突然出现一条提示,说是环境变量没有设置,百度了一下,才发现原来是命令用错了。su oracle与su - oracle差别还是挺大的。
       man su得到的帮助文档如下:
       -, -l, --login
       make the shell a login shell
       也就是加上 -,-l或--login后,改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,LOGNAME。此外,也会变更PATH变量。
      于是再用su - oracle登陆进去,就一切正常了。
*********************************************************************************
引用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参数。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章