关于解决Linux下command not found的问题

Linux环境下通常我们将Terminal可访问的程序放在/bin, /usr/bin, /usr/local/bin,有时也会放在~/bin目录下。

那么在Terminal页面打开(其实是shell login)的时候,程序加载进shell的过程大致如下

  1. Terminal打开时当前user默认的shell会去读取自己的配置文件,一般在~目录下;
  2. 这个配置文件会去export上述几个路径,读取*/bin下的可执行文件;
  3. */bin下的可执行文件通常情况下是指向某个路径下的软链接(可以使用ln -s创建)

所以在Terminal中访问得到command not found的原因可能有

  1. 当前调用的命令确实没有安装;
  2. 当前命令安装了,但是没有创建软链接到*/bin
  3. 当前命令已创建软链接到*/bin,但是所在*/bin路径没有被export;

因此,解决方案如下

# 编辑/etc/profile文件
vim /etc/profile

# 添加对应程序的/bin目录
# 例如:mongodb 默认的安装目录为/usr/local/mongodb(可执行文件在此目录下),故在/etc/profile文件下添加如下语句
export PATH=/usr/local/mongodb/bin:$PATH

#重新执行刚修改的初始化文件
source /etc/profile

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值