使用service会报错service command not found

时间:2024-11-16 07:39:47

本文转载自 /lizexingspark/article/details/53727341

su 或者 su root:的话只是将当前身份转为root,用户shell并没有改变.所以有些系统命令不能使用. 
su -或者su -l或者su -l root,可以完全的将当前环境转为root环境.如同root直接登陆.
其次,service的路径为/sbin/service
如果shell没有改变,那么你的
PATH中默认没有/sbin,所以不行,而如果用su -命令环境改为root,PATH中就包含/sbin

 

如果新装的系统,运行一些很正常的诸如:shutdownfdisk的命令时,悍然提示:bash:command not found。那么 

 

首先就要考虑root $PATH里是否已经包含了这些环境变量。 

 

主要是这四个:/bin ,/usr/bin,/sbin,/usr/sbin。 

 

四个主要存放的东东: 

 

./bin: 

 

binbinary的简写主要放置一些系统的必备执行档例如:catcpchmod dfdmesggzipkilllsmkdirmoremountrmsutar等。 

 

/usr/bin: 

主要放置一些应用软体工具的必备执行档例如c++g++gccchdrvdiffdigduejectelmfreegnome* gziphtpasswdkfmktoplastlesslocalem4makemanmcopyncftp newaliasesnslookup passwdquotasmb*wget等。 

 

 

/sbin: 

主要放置一些系统管理的必备程式例如:cfdiskdhcpcddumpe2fsckfdiskhaltifconfigifup ifdowninitinsmodlilolsmodmke2fsmodprobequotacheckrebootrmmod runlevelshutdown等。 

 

 

/usr/sbin: 

放置一些网路管理的必备程式例如:dhcpdhttpdimapin.*dinetdlpdnamednetconfignmbdsambasendmailsquidswaptcpdtcpdump等。 

 

可以在家目录下查看.bash_profile里的PATH。如果是:PATH=$PATH:$HOME/bin则需要添加成如下: 

 

PATH=$PATH:$HOME/bin:/sbin:/usr/bin:/usr/sbin