linux命令无效了 linux 命令失效

Linux 出现command not found 错误解决在很多人学习Linux命令行linux命令无效了,会经常遇到command not found 错误,出现上述错误主要有以下几种情况:
命令书写错误,如有些人将Windows命令与Linux命令搞错,如查看ip相关信息,Linux命令行应该为ifconfig
环境变量没有配置好,这里一般有两种解决方法,第一,可以切换到root用户执行命令,第二种,就是配置用户linux命令无效了的环境变量 , 其指令如下:
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
----------------------------分割线----------------------------
Linux命令找不到linux命令无效了?(找不到命令)
这个问题其实很简单,如果你在终端输入一个命令,而系统提示你说命令没有找到(Command not found)linux命令无效了的话,要么是因为你没有装相应的软件包,要么就是因为路径设置的问题 。如果是因为软件包的问题,那没有别的好说的,安装相应的软件包就好了 。而另外一种情况,则需要对用户的路径进行设置 。这里针对普通用户和超级用户分开介绍,以 RedHat 些列为例 。
一、普通用乎如果一些程序没有安装在系统默认的路径(ie /bin/, /usr/bin, /usr/local/bin/ )里面,这个时候普通用户想要调用这些命令 , 必须设定路径 。方法很简单:以普通用户登录 , 然后在终端输入:
vi ~/.bash_profile
会出现如下的内容:# .bash_profile
export PATH此时,只要在export PATH前面加入自己的路径即可,例如linux命令无效了我的修改后如下:[@localhost bin]$ cat ~/.bash_profile# .bash_profile# Get the aliases and functionsif [ -f ~/.bashrc ]; then. ~/.bashrcfi# User specific environment and startup programsPATH=$PATH:/usr/local/programs/crosstool/gcc-4.0.2-glibc-2.3.6/arm-linux-gnu/bin/export PATH
二、超级用户这里主要是一些用在系统管理上的命令 , 例如ifconfig, route等等, 他们位于/sbin, 或/usr/sbin/下 。其实这些命令本身就没有任何问题,软件包早已安装完毕,路径设置也没有丝毫问题 。而出现Command not found的原因在于:在终端使用su变成超级用户的时候没有将root的路径(环境)一起切换过来,从而导致身份虽然已经是root , 但是工作的环境和路径依旧是普通用户的 。这种问题的解决方法有两个 , 其一是按照(一)里面提到的,对普通用户的工作路径进行修改,但是这样比较麻烦 。其二则简单的多,只要在使用su的时候在其后家上一个空格和”-“ ,即将su改为 su -。这样就可以在成为root的同时将root的工作路径也一起切换过来了 。如果你已经使用su变成了root,那也没有关系,只要在输入一下su - 就好了 。
原文地址:
linux 系统命令突然不能直接执行了是咋回事 #/sbin/shutdown -h now在Linux中使用shell命令linux命令无效了,不管是root用户还是普通用户,很多命令(如 , fdisk ; ifconfig)等都会无效,系统出现linux命令无效了:"bash: .. command not found" 。这些命令都有一个共同的特点linux命令无效了:存在于 /sbin 这个目录下 。这时尝试这样做[linux@axws ~]$/sbin/ifconfig linux命令无效了我们发现命令能够正常执行,这说明不是安全限制,很可能是PATH出了问题 。原因是/sbin的目录路径(系统用户目录)不在root的$PATH变量中造成的 。
关键:PATH路径设置问题 。
首先切换到root,再试用一下命令,能用的话跳过下面这步直接修改用户目录下的这个文件就可以了 。若还是不能用首先修改管理员的PATH,方法:
(1)进入到用户主目录:cd ~ linux命令无效了;
(2)编辑这个隐藏文件:vi .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
【linux命令无效了 linux 命令失效】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 。
然后就可以了 。如果还不行,把这行exportPATH=/sbin:$PATH 加入到.bash_profile文件的最后就好 。
/sbin下的命令是给root使用的,对普通用户一般没什么用处,如果root用户也用不了那就是路径设置问题 。
linux绝大部分命令失效了 怎么办?一般安装完某个程序,增加了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命令无效了和linux 命令失效的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读