修改Linux的PATH方法有三(添加用户的路径到PATH):

Linux命令的分类:包括:alias, keyword, function, built-in, $PATH这5类,shell会按照alias->keyword->function,->built-in->$PATH的顺序进行搜索, 本着”先到先得”的原则, 就是说如果有如名为mycmd的命令同时存在于alias和function中的话, 那么肯定会使用alias的mycmd命令(当然, 这不是绝对的,特殊情况可以自行搜索一下)。
PATH=$PATH:/etc/apache/bin 路径的添加方式是用冒号 “:”讲文件路径分开,添加的必须是文件夹,并且一般生成的都是放到bin文件夹下面,因为在linux系统中:

/usr/bin 众多的应用程序 
/usr/sbin 超级用户的一些管理程序 
/usr/local/bin 本地增加的命令
但是也有一些自己安装或者编写的命令并不一定放到bin文件下。合理情况是最好放到bin文件夹下,规范团队协作。另外要说的是所有的,PATH中查找顺序是从左到右的。

 方法一: 直接在命令行中输入: export PATH=$PATH:/etc/apache/bin。这种方法只对当前会话有效,也就是说每当登出或注销系统后,PATH设置就会恢复原有设置。

 方法二: 修改/etc/profile文件。在/etc/profile文件的适当位置添加PATH=$PATH:/etc/apache/bin (注意:=即等号两边不能有任何空格)。这种方法最好,除非你手动强制修改PATH的值。否则将不会被改变。
方法三: 修改用户目录下的.bash_profile:vi ~/.bash_profile,把用户想添加的路径添加到PATH后面。这种方法只针对用户起作用。 注意:若采用修改profile文件的方法改变PATH,则必须重新登录才能生效。

第一,第三亲测有限,第二种由于权限问题,没有做测试:

  上述的第二,第三两种方式中都需要重启,或者重新ssh连接服务器生效。如果不想重启的话,那么编辑结束后,
  执行source  ~/.bash_profile (如果是第二种方式,替换成 source  ~/.bash_profile )。source 可以用. 代替,它实现了脚本重新执行。具体作用可以网上搜索一下。

如果系统中有很多地方存放了相同的命令,可以通过 :

whereis 用来查看一个命令或者文件所在的绝对路径,而 which 用来查看当前要执行的命令所在的路径。还有一个函数是hash,hash命令用于记录在当前shell环境下用户曾经键入的命令路径记录缓存表,主要是为了加快命令搜寻速度。直接用type 可以告诉你该命令在运行时会执行哪一类。

这里要要说的最后一点是由于hash的缓存效果,可能会打乱PATH中得搜索顺序。比如说PATH=/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/pm /bin,假如一个command.sh放到/usr/bin下面,这个command.sh的路径/usr/bin就会写到缓存里,之后又新添加了一个同样是command.sh的指令放到了/bin下面,按照PATH的搜索顺序,按说是会执行/bin下面的command.sh。但是,由于缓存中记录的是上面个提到的/usr/bin所以会仍然执行/usr/bin下面的命令。这样的情况可以通过hash -r清楚缓存。

提到PATH,可能你还要用到另外一个变量LD_LIBRARY_PATH。这个路径其实是存放,动态库文件的,这和PATH是不一样的,PATH是存放的命令或者说shell脚本。LD_LIBRARY_PATH是用来存放.so库文件的,有时候报的一些so.文件找不到,很大一部分原因是因为LD_LIBRARY_PATH这个变量中缺少路径,添加路径就可以了。