whereis 用来查看一个命令或者文件所在的绝对路径,而 which 用来查看当前要执行的命令所在的路径。

下面举个例子来说明。加入你的linux系统上装了多个版本的java。如果你直接在命令行敲命令 "java -version" ,会得到一个结果。但是,你知道是哪一个路径下的java在执行吗?如果想知道,可以用 which 命令:

which java

得到的结果就是系统默认执行的java所在的路径。

如果使用命令: whereis java

那么你会得到很多条结果,因为这个命令把所有包含java(不管是文件还是文件夹)的路径都列了出来。

原文地址:http://kooyee.iteye.com/blog/445886

在Windows的Resource Kit中有一个where.exe,它也有相同的功效,不过一套Resource Kit要300美元,在这里我们可以作一个批处理文件来实现这个功能。

使用记事本编辑一个which.bat,并将其存放在Winnt目录或者其他Path变量中的目录里,该批处理文件的内容如下:

@echo off

Rem 检查命令行参数
if {%}=={} goto :Usage
for %%i in ({ {/ {-) do if {%}==%%i?} goto :Usage %%i
echo. :Rem 在当前目录检查看是否存在该文件
for %%i in (%) do if exist %%~nx%i (
echo %%~Fi
goto :EOF
) :Rem 在Path中检查该文件
for %%i in (%) do (
if exist %%~$PATH:i (
echo %%~$PATH:i
) else (
echo Error: % 不在路径里!!!
goto :Usage
)
)
goto :EOF :Usage
echo.
echo WHICH "filename"
echo.
echo 输入文件名,返回该文件的全路径!
echo.

注意bat文件要存为ANSI编码格式在cmd中中文才不会为乱码

原文地址:http://www.xgdown.com/article/222/67107_1.htm

windos或linux中 which命令 查看当前要执行的命令所在的路径的更多相关文章

  1. Linux 中 &、jobs、fg、bg 等命令

    参考  Unix 或 Linux 中 &.jobs.fg.bg 等命令的使用方法 对之前文章的一个补充: linux 命令后台运行 这篇还是比较简单的,稍微一带而过 fg.bg.jobs.&a ...

  2. Unix或Linux中&、jobs、fg、bg等命令的使用方法

    [From] http://blog.sina.com.cn/nenutechnology fg.bg.jobs.&.ctrl + z都是跟系统任务有关的,虽然现在基本上不怎么需要用到这些命令 ...

  3. [转帖]linux screen 命令详解,xshell关掉窗口或者断开连接,查看断开前执行的命令

    linux screen 命令详解,xshell关掉窗口或者断开连接,查看断开前执行的命令 https://binwaer.com/post/12.html yun install -y screen ...

  4. linux日常---1、linux下安装、查看、卸载包常用命令

    linux日常---1.linux下安装.查看.卸载包常用命令 一.总结 一句话总结: 对比学习 1.linux如何查看系统中安装的程序? rpm -qa   # 查看所有安装的软件包 2.linux ...

  5. [转]Linux中set,env和export这三个命令的区别

    转自:http://www.2cto.com/os/201306/223758.html Linux中set,env和export这三个命令的区别   set命令显示当前shell的变量,包括当前用户 ...

  6. mysq在命令行模式下执行shell命令

    mysql可以在命令行模式下执行shell命令 mysql> help For information about MySQL products and services, visit: htt ...

  7. make命令回显Makefile执行脚本命令

    /********************************************************************** * make命令回显Makefile执行脚本命令 * 说 ...

  8. 『学了就忘』Linux系统管理 — 82、Linux中进程的查看(ps命令)

    目录 1.ps命令介绍 2.ps aux命令示例 3.ps -le命令示例 4.pstree命令 1.ps命令介绍 ps命令是用来静态显示系统中进程的命令. 不过这个命令有些特殊,它部分命令的选项前不 ...

  9. 『学了就忘』Linux系统管理 — 83、Linux中进程的查看(top命令)

    目录 1.top命令介绍 2.top命令示例 3.top命令输出项解释 4.top命令常用的实例 1.top命令介绍 top命令是用来动态显示系统中进程的命令. [root@localhost ~]# ...

随机推荐

  1. DataFrame在算术方法中填充值

    在对不同索引的对象进行算术运算时, 你可能希望当一个对象中某个轴标签在另一个对象中找不到时填充一个特殊值(比如0)

  2. C++ namespace的用法

    //namesp.h namespace pers{     const int LEN = 40;     struct Person{         char fname[LEN];       ...

  3. linq where in 排序

    List<INGREDIENT> selectedIngredients = db.INGREDIENT .Where(i => model.SelectedIngredients. ...

  4. js Jquery字符UrlEncode 编码 C#(asp.net)解码 Server HttpUtility 区别 cookies存中文

    一.Js asp.net 交互Url编码解码 C#(asp.net)编码:HttpUtility.UrlEncode(url) Jquery解码:decodeURIComponent(url); Jq ...

  5. MYSQL的索引类型:PRIMARY, INDEX,UNIQUE,FULLTEXT,SPAIAL 有什么区别?各适用于什么场合?

    一.介绍一下索引的类型 Mysql常见索引有:主键索引.唯一索引.普通索引.全文索引.组合索引PRIMARY KEY(主键索引) ALTER TABLE `table_name` ADD PRIMAR ...

  6. Win7-64位安装TensorFlow-CPU

    利用Anaconda安装 1.首先下载Anaconda3-5.1.0-Windows-x86_64.exe 下载地址:https://repo.continuum.io/archive/Anacond ...

  7. CALayer: autoresizingMask

    UIView 可以设定 autoresizingMask,当它的 superView 尺寸改变时,适应何种变化. 不过 CALayer 却没有这个属性,如和做到让 CALayer 和 UIView 一 ...

  8. asp.net MVC中防止跨站请求攻击(CSRF)的ajax用法

    参考: Preventing Cross-Site Request Forgery (CSRF) AttacksValidating .NET MVC 4 anti forgery tokens in ...

  9. VCL 中的 Windows API 函数(1): AbortDoc

    AbortDoc: 该函数终止当前打印作业并删除最好一次调用 StartDoc 函数写入的所有信息. 该函数在 Printers 单元的应用:AbortDoc(Canvas.Handle);

  10. windows上完美的X-server服务器软件:MobaXterm

    这个软件 太 TMD 好了 . 干净.绿色.小巧. X-server 软件.想知道如何用不,直接打开运行该软件,这样就Enough了!