扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
一般默认情况下,普通用户的可执行命令位于/bin, /usr/bin, /usr/local/bin, 系统管理员可执行命令位于/sbin, /usr/sbin, /usr/local/sbin这几个目录,进去睢睢,一目了然.
创新互联专注于青海企业网站建设,自适应网站建设,商城网站建设。青海网站建设公司,为青海等地区提供建站服务。全流程按需求定制设计,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
是root用户还是普通用户
如果是root用户下,检查这些命令是否还在。一般在/usr/bin /usr/sbin。
在/root用户下的.profile 文件中加上 path=/usr/bin;/usr/sbin ,然后source .profile,使变量生效,然后测试命令是否可用
如果是普通用户,需要在普通用户的home目录下设置.profile
命令不能用了主要是$PATH变量错误的关系。
方法一:
如果只是在shell下
export
命令改的名字的话
直接restart。
方法二:
更改配置文件,可以
/bin/vi
配置文件就行了,也就是要通过指定命令所在路径来运行命令修复配置就行了。
一般可能是在更改$PATH时命令错误搞成的的这种情况,
比如想增加/b
进path
export
PATH=$PATH:/b
OR
export
PATH=/b:$PATH
单独
export
PATH=/b
会使你其他PATH全部消失
只剩下
/b
$PATH:/b
和
export
PATH=/b:$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用户也用不了那就是路径设置问题。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流