问题:
Linux下输入某些命令时会提示:bash:command not found。
解决方案:
首先,查看$PATH中是否包含了这些命令。
$PATH:决定了shell到哪些目录中去寻找命令或程序,PATH值是一系列的目录。当运行程序时,linux到这些目录下搜索进行编译链接。
格式:
PATH = $PATH::::…:
可以将自己指定的路径加到PATH中,中间用冒号”:”隔开。环境变量更改后,会在用户下次登录的时候生效;若想立即生效,则需要执行:
1 $ source .bash_profile
完成之后可以通过 echo echo PATH查看当前的搜索路径。这样定制之后,可以避免频繁的启动位于shell搜索路径之外的程序。
echo $PATH
建议通过编辑/etc/profile 修改PATH,也可修改/home目录下的 .bashrc
vim /etc/profile
在最后添加:
export PATH=$PATH:/usr/mongodb/bin
保存后,退出,执行:
source /etc/profile
PATH知识补充
$PATH下目录简介
PATH中主要有以下四个目录:
/bin, /usr/bin, /sbin, /usr/sbin
主要存放的东西:
./bin:
bin为binary的简写主要放置一些系统的必备执行档案。如:cat,cp, chmod df, dmesg, gzip, kill, ls, mkdir, more, mount, rm, su, tar 等。
/usr/bin:
主要放置一些应用软体工具的必备执行档例。如:c++、g++、gcc、chdrv、diff、dig、du、eject、elm、free、gnome*、 gzip、htpasswd、kfm、ktop、last、less、locale、m4、make、man、mcopy、ncftp、 newaliases、nslookup passwd、quota、smb*、wget等。
/sbin:
主要放置一些系统管理的必备程式例。如:cfdisk、dhcpcd、dump、e2fsck、fdisk、halt、ifconfig、ifup、 ifdown、init、insmod、lilo、lsmod、mke2fs、modprobe、quotacheck、reboot、rmmod、 runlevel、shutdown等。
/usr/sbin:
放置一些网路管理的必备程式例。如:dhcpd、httpd、imap、in.*d、inetd、lpd、named、netconfig、nmbd、samba、sendmail、squid、swap、tcpd、tcpdump等。