linux 找不到命令的解决方法
如果是因为没装相应的软件包安装就可。若是已经安装,但还是不行,那就要配置环节变量了。
一、普通用户
在终端输入:
vi ~/.bash_profile 复制代码
会出现如下的内容:
# .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs export PATH 复制代码
此时,只要在export PATH前面加入自己的路径即可,例如我的修改后如下:
PATH=$PATH:$HOME/bin:/sbin:/usr/bin:/usr/sbin 复制代码
二、超级用户:
这里主要是一些用在系统管理上的命令,例如ifconfig, route等等, 他们位于/sbin, 或/usr/sbin/下。其实这些命令本身就没有任何问题,软件包早已安装完毕,路径设置也没有丝毫问题。 而出现Command not found的原因在于:在终端使用su变成超级用户的时候没有将root的路径(环境)一起切换过来,从而导致身份虽然已经是root,但是工作的环境和 路径依旧是普通用户的。 这种问题的解决方法有两个: 1. 是按照(一)里面提到的,对普通用户的工作路径进行修改,但是这样比较麻烦。 2. 二则简单的多,只要在使用su的时候在其后家上一个空格和"-" ,即将su改为 su - 。 这样就可以在成为root的同时将root的工作路径也一起切换过来了。如果你已经使用su变成了root, 那也没有关系,只要在输入一下su - 就好了。
如果是因为没装相应的软件包安装就可。若是已经安装,但还是不行,那就要配置环节变量了。 一、普通用户 在终端输入: vi ~/.bash_profile 复制代码 会出现如下的内容: # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs export PATH 复制代码 此时,只要在export PATH前面加入自己的路径即可,例如我的修改后如下: PATH=$PATH:$HOME/bin:/sbin:/usr/bin:/usr/sbin 复制代码 二、超级用户: 这里主要是一些用在系统管理上的命令,例如ifconfig, route等等, 他们位于/sbin, 或/usr/sbin/下。其实这些命令本身就没有任何问题,软件包早已安装完毕,路径设置也没有丝毫问题。 而出现Command not found的原因在于:在终端使用su变成超级用户的时候没有将root的路径(环境)一起切换过来,从而导致身份虽然已经是root,但是工作的环境和 路径依旧是普通用户的。 这种问题的解决方法有两个: 1. 是按照(一)里面提到的,对普通用户的工作路径进行修改,但是这样比较麻烦。 2. 二则简单的多,只要在使用su的时候在其后家上一个空格和"-" ,即将su改为 su - 。 这样就可以在成为root的同时将root的工作路径也一起切换过来了。如果你已经使用su变成了root, 那也没有关系,只要在输入一下su - 就好了。