是root用户还是普通用户
创新互联公司是专业的上虞网站建设公司,上虞接单;提供成都网站建设、成都网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行上虞网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
如果是root用户下,检查这些命令是否还在。一般在/usr/bin /usr/sbin。
在/root用户下的.profile 文件中加上 path=/usr/bin;/usr/sbin ,然后source .profile,使变量生效,然后测试命令是否可用
如果是普通用户,需要在普通用户的home目录下设置.profile
你试试 /usr/sbin/useradd h 能不能执行,如果能,那就是你的环境变量PATH出问题了,找到环境变量PATH,添加路径/usr/sbin就OK了
是root用户还是普通用户
如果是root用户下,检查这些命令是否还在。一般在/usr/bin /usr/sbin。
在/root用户下的.profile 文件中加上 path=/usr/bin;/usr/sbin ,然后source .profile,使变量生效,然后测试命令是否可用
如果是普通用户,需要在普通用户的home目录下设置.profile
一般安装完某个程序,增加了PATH变量的时候,破坏了系统原来的默认路径,可能造成很多命令失效,比如安装了JDK后增加了JDK的路径变量。
我们了解下PATH命令吧:
PATH的值是一系列目录,当您运行一个程序时,Linux在这些目录下进行搜寻。用以下命令可以看到PATH的值。
$ echo $PATH
例如,在主机中,用户yogin的PATH值为:
/opt/kde/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/yogin/bin
其中“:”为分隔符。所以,上面的一串目录可以看成是如下的目录列表。
/opt/kde/bin
/usr/local/bin
/bin:/usr/bin
/usr/X11R6/bin
/home/yogin/bin
同样,也是主机中,用户root的PATH值为:
/opt/kde/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
要修改所有用户的PATH值,您可以以root身份编辑/etc/profile文件,修改其中包含“PATH=”的一行。
例如,您可以使用pico编辑器打开/etc/profile文件。
$ pico -w /etc/profile
pico是一个文本编辑器,而-w选项关闭了长行回绕功能。
只有在用户重新注册后,PATH的新值才会生效。如果只是要修改某一个用户的PATH值,就应该编辑该用户主目录中的.bash-profile文件。
如果您想将当前目录加入到PATH中,则将“.”加入PATH中,此时PATH的设定如下:
PATH="$PATH:/usr/X11R6/bin:."
export PATH
注意:在修改了PATH值或任何环境变量后,都要用export将其输出,新的PATH值才能生效。
在Linux中使用shell命令,不管是root用户还是普通用户,很多命令(如 ,fdisk ; ifconfig)等都会无效,系统出现:"bash: .. command not found"。这些命令都有一个共同的特点:存在于 /sbin 这个目录下。这时尝试这样做[linux@axws ~]$/sbin/ifconfig 我们发现命令能够正常执行,这说明不是安全限制,很可能是PATH出了问题。原因是/sbin的目录路径(系统用户目录)不在root的$PATH变量中造成的。
关键:PATH路径设置问题。
首先切换到root,再试用一下命令,能用的话跳过下面这步直接修改用户目录下的这个文件就可以了。若还是不能用首先修改管理员的PATH,方法:
(1)进入到用户主目录:cd ~ ;
(2)编辑这个隐藏文件:vi .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
unset USERNAME
修改其中PATH=$PATH:$HOME/bin其后添加“:/sbin”冒号不算。
(3):wq保存退出;
(4)重启系统或执行source .bash_profile重置命令路径。
接着执行/sbin下命令,应该可以了,exit退出管理员身份,再执行/sbin下命令,发现还是不能用,好,此时可以先用echo $PATH查看所在路径,若没有/sbin则修改用户主目录下的这个文件:
(1)cd ~;
(2)vi .bash_profile按照上面的做同样的改动,保存退出:wq;
(3)重启系统或执行source .bash_profile。
然后就可以了。如果还不行,把这行export PATH=/sbin:$PATH 加入到.bash_profile文件的最后就好。
/sbin下的命令是给root使用的,对普通用户一般没什么用处,如果root用户也用不了那就是路径设置问题。