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. C艹 指针和const的关系和注意事项(非常有意思)

    有两种不同的形式将const关键字指向指针. 第一种:让指针指向一个常量对象 const float g_moon = 1.63; float * pm = &g_moon; // 不允许 n ...

  2. 推荐一个不错的关于Excel数据统计分析的公众号

  3. Java如何获取正在运行的线程的名称?

    在Java编程中,如何获取正在运行的线程的名称? 以下示例显示如何获取正在运行的线程的名称. package com.yiibai; public class GettingThreadName ex ...

  4. Java设计模式六大原则之场景应用分析

    定义:不要存在多于一个导致类变更的原因. 通俗的说.即一个类仅仅负责一项职责. 问题由来:类T负责两个不同的职责:职责P1,职责P2.当由于职责P1需求发生改变而须要改动类T时,有可能会导致原本执行正 ...

  5. C# 窗口自适应窗口宽度和高度

    其实winform并不适合做自适应这玩意的,虽然,能做是能做, 就像菜刀一样能切水果,但是,不是那么合适,毕竟有水果刀 wpf做自适应拉伸窗体,会更好一些. 代码: #region 自适应 priva ...

  6. Python爬虫学习——光学字符识别

    使用pytesseract库对图片文件(jpg.png.bmp等)进行识别,把图片转换成字符串输出. import pytesseract from PIL import Image img = Im ...

  7. Android 知识梳理

    说明:本篇博客只是一个知识整理,因为网上对于Android的知识介绍足够多,因此我不再写相关文章(主要是因为我写的不如人家好),所以所有文章均来自网络,不贴原文章,只提供连接,因此本文旨在减少你对相关 ...

  8. 用Fiddler可以设置浏览器的UA 和 手动 --Chrome模拟手机浏览器(iOS/Android)的三种方法,亲测无误!

    附加以一种软件的方法是:用Fiddler可以设置浏览器的UA 以下3种方法是手动的 通过伪装User-Agent,将浏览器模拟成Android设备. 第一种方法:新建Chrome快捷方式 右击桌面上的 ...

  9. Spring MVC异常处理详解 ExceptionHandler good

    @ControllerAdvice(basePackageClasses = AcmeController.class) public class AcmeControllerAdvice exten ...

  10. Oracle:oratop 第一栏中的 {n}er 的含义,及如何清除这个er

    在oratop监控中: 第一栏的er[不]为{0}!说明Oracle的ADR诊断体系内发现有错误事件(problem + incident) 该信息实际是从一张视图内得来的: select * fro ...