1.为什么要在linux命令前加上 ./ 
简述
在chinaunix 论坛里找到的答案
原来Quote: 
unix或linux中除了path系统变量外的目录下的命令都要加./
修改用户的 .bash_profile 在 PATH一行最后加上 ":." (一个冒号,一个点) 
然后退出重新登陆用户就ok了! 
PATH中没有定义路径,加上就ok了
./表示当前目录,这是因为linux的默认搜索目录里没有当前目录,所以如果你在
当前目录需要执行程序就要加上路径,./用全路径代替也是可以的。 
win/dos的默认搜索路径里有当前目录,所以不需要加。其实加上也是一样的效果

2.什么时候才需要在命令前加上./ ? 
比如: 
cd /etc/init.d 
运行:sshd 系统没有什么反应也不出错 
而只有加上./ 后,如 ./sshd 才会出提示如: 
用法:./sshd {start|stop|restart|reload|condrestart|status} 
这是怎么回事,而有的时候却两者都可以。

.表示当前目录,./,,,表示执行当前目录下可执行文件

首先,你运行了两个sshd,都没有报错,说明两个命令都可以。 
一开始的sshd应该是/usr/sbin/下面的sshd命令。 
第二次的sshd是/etc/init.d/下的一个脚本,不是二进制可执行文件。 
linux优先查找PATH环境变量下的路径,和m$有点不一样。环境变量可以用echo $PATH观看

一般rpm安装的都行,可以直接运行。 
有一部分tarball要`编译,编译后在/us/bin or /usr/local/bin下放置可执行文件,则可以直接运行,但有部分程序编译后在原目录下,要执行就要./,,, 
另外,./configure是必需带./的,其实兄弟安装后可以试试在输入可执行文件名前几个字母后Tab,系统会列出所有以这几个字母开头的可执行文件