2019独角兽企业重金招聘Python工程师标准>>>
#前言#
在学习su命令时,几乎所有的国内书籍都说是切换用户功能。今天在linux系统下想开启httpd(即Apache服务器),输入指令<code>service httpd start</code>结果出现bash: service: command not found这个错误!感觉很诡异。
其实,我是通过<code>su root</code>命令来"切换"用户的。后来探索得知:
su或者su root 只是相当于以root用户身份来操作,实际的系统环境并没有切换到root用户的环境,而只是当前登录用户。
使用<code>su -,-l,--login</code>才算是真正切换至root的环境下。
这里就看下su命令:su --help 看到su命令的帮助信息: 用法:su [选项]... [-] [用户 [参数]...] Change the effective user id and group id to that of USER.
-, -l, --login make the shell a login shell -c, --command=COMMAND pass a single COMMAND to the shell with -c --session-command=COMMAND pass a single COMMAND to the shell with -c and do not create a new session -f, --fast pass -f to the shell (for csh or tcsh) -m, --preserve-environment do not reset environment variables -p same as -m -s, --shell=SHELL run SHELL if /etc/shells allows it --help 显示此帮助信息并退出 --version 输出版本信息并退出
单独的 - 代表 -l。如果未给出[用户],则假定为 root。