whereis 用来查看一个命令或者文件所在的绝对路径,而 which 用来查看当前要执行的命令所在的路径。
下面举个例子来说明。加入你的linux系统上装了多个版本的java。如果你直接在命令行敲命令 "java -version" ,会得到一个结果。但是,你知道是哪一个路径下的java在执行吗?如果想知道,可以用 which 命令:
which java
得到的结果就是系统默认执行的java所在的路径。
如果使用命令: whereis java
那么你会得到很多条结果,因为这个命令把所有包含java(不管是文件还是文件夹)的路径都列了出来。
出自舸柯 - 生活[url]http://hi.baidu.com/zhleilei/blo...997721cffca387.html[/url]
那么如果想要修改命令执行的命令, 比如系统中有java1.5和java1.6,运行java默认执行是1.5版本,如果想要执行的是1.6的,怎么办呢?
其实从PATH中可以看出, 系统在搜索默认的命令时,是按照PATH中的几个路径(公共文件夹)依次查找的。 所以我们把想要默认运行的命令安装到/usr/local/下, 就可以优先于/usr/bin先的命令运行。
或者想使用不同版本的命令程序,可以使用symbolic links链接到想使用的版本:
• ln -s /usr/java/jdk1.6.0/bin/java /usr/bin/java
• ln -s /usr/java/jdk1.6.0/bin/javac /usr/bin/javac
下面举个例子来说明。加入你的linux系统上装了多个版本的java。如果你直接在命令行敲命令 "java -version" ,会得到一个结果。但是,你知道是哪一个路径下的java在执行吗?如果想知道,可以用 which 命令:
which java
得到的结果就是系统默认执行的java所在的路径。
如果使用命令: whereis java
那么你会得到很多条结果,因为这个命令把所有包含java(不管是文件还是文件夹)的路径都列了出来。
出自舸柯 - 生活[url]http://hi.baidu.com/zhleilei/blo...997721cffca387.html[/url]
那么如果想要修改命令执行的命令, 比如系统中有java1.5和java1.6,运行java默认执行是1.5版本,如果想要执行的是1.6的,怎么办呢?
其实从PATH中可以看出, 系统在搜索默认的命令时,是按照PATH中的几个路径(公共文件夹)依次查找的。 所以我们把想要默认运行的命令安装到/usr/local/下, 就可以优先于/usr/bin先的命令运行。
或者想使用不同版本的命令程序,可以使用symbolic links链接到想使用的版本:
• ln -s /usr/java/jdk1.6.0/bin/java /usr/bin/java
• ln -s /usr/java/jdk1.6.0/bin/javac /usr/bin/javac