目录
1.检查该命令工具是否安装
(适用于 第一次出现not found的情况)
2.检查各个bin文件夹的内容是否非空
(适用于 输入类似ls、tty这种常见指令以前可用但最近出现not found的情况)
3.检查是否是$PATH设置是否正确
(通用情况)
出现这个问题时,首先用whereis命令确定该指令工具是否安装,
例如确定gcc是否安装
whereis gcc
如果此时显示gcc:/usr/bin/gcc 则说明已经安装好,可以接着用下面的方法继续找原因,
如果只是显示 gcc:,则说明gcc没有下载,此时进行下载就可以。
Centos(Rehat系列)系统下载gcc命令:yum install gcc
Ubuntu系统下载gcc命令:apt-get inatall gcc
在使用其它相对更复杂的手段“还原”到之前好用的状态之前,应该先检查的bin文件夹里的命令是否都在,这个方法最简单也最直观。如果自己需要用到的命令所在的bin文件夹为空,那么就会理所应当的出现-bash: ***: command not found情况。
要检查的bin文件夹有以下几个:
/bin, /usr/bin, /sbin, /usr/sbin
查看这四个里面的是否为空,若出现为空的情况,那么解决办法就是找一个同样系统版本的linux把对应文件夹的内容复制到本地空的bin文件夹中。例如我的linux版本是CentOS release 6.8,我输入gcc命令编译的时候出现bash: gcc: command not found ,通过查看四个目录发现其中 /usr/bin内容为空,然后自己通过将同样的CentOS release 6.8系统下的 /usr/bin内容全部复制到本地的/usr/bin中,然后再次gcc编译,通过。
输入"echo $PATH"命令:
(查看PATH值)
[username@login ~]$ echo $PATH
(无需关注的路径)
/usr/lib64/qt3.3/bin:/opt/gridview/pmix/bin:/opt/gridview/pmix/sbin:/public/home/aqyj_ld/perl5/bin:/opt/gridview/slurm/bin:/opt/gridview/slurm/sbin:/opt/gridview/munge/bin:/opt/gridview/munge/sbin:/opt/clusconf/sbin:/opt/clusconf/bin:
(当地本机路径)
/usr/local/bin:
/usr/bin:
/usr/local/sbin:
/usr/sbin:
(远程服务器路径)
/public/home/username/.local/bin:
/public/home/username/bin
3.检查是否是$PATH设置是否正确
环境变量,表示“可执行程序的查找路径”。
$PATH决定了shell到哪些目录下去寻找命令或工具,PATH的值是一系列目录,当程序运行时,Linux系统会到这些目录下进行搜索,所以当出现 -bash: ** : command not found可能因为是PATH没有设置。
将出现bash:command not found的路径加到PATH中
(修改PATH的值)
(多个PATH连接格式::::...:)
[username@login ~]$ export PATH=/public/home/username/.local/sbin:/public/home/username/.local/sbin:$PATH
(永久修改)
[username@login ~]$ source .bashrc
(设置成功之后,使用echo查看是否配置成功:)
[username@login ~]$ echo $PATH
(新增路径)
/public/home/username/sbin:
/public/home/username/sbin:
/public/home/username/.local/sbin:/usr/lib64/qt-3.3/bin:/opt/gridview/pmix/bin:/opt/gridview/pmix/sbin:/public/home/username/perl5/bin:/opt/gridview/slurm/bin:/opt/gridview/slurm/sbin:/opt/gridview/munge/bin:/opt/gridview/munge/sbin:/opt/clusconf/sbin:/opt/clusconf/bin:/usr/local/bin:
/usr/bin:
/usr/local/sbin:
/usr/sbin:
/public/home/username/.local/bin:
/public/home/username/bin
不报错就成功。
参考链接:Linux下提示bash:command not found解决方法小结_wangqingchuan92的博客-CSDN博客