服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Linux - Linux 神秘对决:which vs. whereis vs. whatis

Linux 神秘对决:which vs. whereis vs. whatis

2023-05-23 17:01未知服务器之家 Linux

您可能已经多次在 Linux 上使用过 which、whereis 和 whatis 命令。这三个命令都用于查找关于其他 Linux 命令的信息。这些命令看起来相似,但它们确实有一些区别。 以下是对 Linux 上 which、whereis 和 whatis 命令的详细比较。 which 命令 某

您可能已经多次在 Linux 上使用过 which、whereis 和 whatis 命令。这三个命令都用于查找关于其他 Linux 命令的信息。这些命令看起来相似,但它们确实有一些区别。

以下是对 Linux 上 which、whereis 和 whatis 命令的详细比较。

which 命令

某些命令在不同的目录中具有多个可执行文件。当您运行一个命令时,Shell 会在 PATH 环境变量指定的目录中搜索其可执行文件。

要查找 PATH 环境变量中包含的目录,请在 Linux 终端中运行以下命令:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ echo $PATH

Linux 神秘对决:which vs. whereis vs. whatis

小贴士:您还可以手动将目录添加到您的PATH环境变量中。

在 Linux 中,当 shell 找到第一个可执行路径时,它会执行该路径。使用 which 命令,您可以确定该可执行文件的路径。

这在以下情况下非常有用:您的系统上安装了同一程序的两个不同版本,或者安装了具有相同名称的两个不同程序。使用 which 命令,您可以找出哪个将首先被执行。

以下是 which 命令的语法:

which [选项] [命令]

例如,要检查 tar 命令的实际路径,您可以输入:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ which tar

Linux 神秘对决:which vs. whereis vs. whatis

该命令将显示tar命令在PATH中找到的第一个可执行路径,即 /usr/bin。这意味着无论何时运行 tar 命令,shell 都会执行位于 /usr/bin 目录中的二进制文件。

要显示命令的所有可用可执行路径,请使用 which 命令加上 -a 选项:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ which -a tar

Linux 神秘对决:which vs. whereis vs. whatis

您还可以同时显示多个命令的可执行路径,如下所示:

which [命令1] [命令2] [命令3]

whereis 命令

whereis 命令会显示与指定命令相关的二进制文件、源文件和手册页面文件的路径。与 which 命令不同,它不仅在 $PATH 中搜索可执行文件,还在 $MANPATH 和其他预定义位置进行搜索。

如果没有任何命令行选项,whereis 命令会显示命令的二进制文件、源文件和手册页面文件:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ whereis tar

Linux 神秘对决:which vs. whereis vs. whatis

要仅显示二进制文件路径,请使用 -b 选项:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ whereis -b tar

Linux 神秘对决:which vs. whereis vs. whatis

要仅显示源文件,请使用-s标志:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ whereis -s tar

Linux 神秘对决:which vs. whereis vs. whatis

要仅显示手册页面,请使用 -m 选项:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ whereis -m tar

Linux 神秘对决:which vs. whereis vs. whatis

whatis 命令

whatis 命令提供了给定 Linux 命令的一行描述。它从命令的 man 页面中获取这些信息。

例如,要查找 tar 命令的功能,请运行:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ whatis tar

Linux 神秘对决:which vs. whereis vs. whatis

您还可以同时查找多个命令的信息,例如:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ whatis ls cp mkdir cat head

Linux 神秘对决:which vs. whereis vs. whatis

which、whereis 和 whatis 之间的区别是什么?

如果您想找到在 shell 中运行命令时执行的二进制文件的路径,请使用 which 命令。而如果您想找到命令的源文件、二进制文件和 man 页面,请使用 whereis 命令。

whereis 命令列出所有的二进制可执行文件,而 which 命令仅显示在 shell 中输入该命令时执行的第一个可执行文件。

which 命令在 PATH 变量中进行搜索,而 whereis 命令在标准的Linux目录中进行搜索,包括 $PATH 和 $MANPATH。

最后,whatis 命令会从命令的 man 页面中提取出一行简短的描述。

查找Linux命令的信息

which、whereis 和 whatis 命令可以帮助您找到其他 Linux 命令的信息,如可执行文件的完整路径、二进制文件、源文件、手册页面以及命令的功能。

除了 whatis 命令,您还可以使用其他命令,如 apropos、man、info 和 help,以获得关于 Linux 命令及其功能的详细信息和更好的理解。

延伸 · 阅读

精彩推荐
  • Linuxssh 登录很慢该如何解决

    ssh 登录很慢该如何解决

    这篇文章主要介绍了ssh 登录很慢该如何解决的相关资料,这里提供了两种方法,DNS反向解析及关闭ssh的gssapi认证的解决办法,需要的朋友可以参考下...

    linuxeye9922021-12-16
  • Linuxlinux top命令详解

    linux top命令详解

    这篇文章主要介绍了linux top命令详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    sparkdev5622022-03-01
  • Linuxlinux驱动程序开发详细介绍

    linux驱动程序开发详细介绍

    前提,一般来说内核代码的错误可能会引起一个用户进程的死亡,或者整个系统的瘫痪,更严重的后果,可能导致磁盘损伤~因此建议最好有一台实验机进行...

    Linux教程网5392019-12-17
  • Linuxlinux设置tomcat自启动的方法

    linux设置tomcat自启动的方法

    这篇文章主要介绍了linux设置tomcat自启动的方法,需要的朋友可以参考下...

    Linux教程网8512021-10-10
  • Linux理解 Linux/Unix 登录脚本的技巧

    理解 Linux/Unix 登录脚本的技巧

    有一些常见的情况,例如从Debian的包管理程序到Iaas的管理中,很多任务需要设置环境变量才能正常运行。 有时,程序通常只需要在 登陆时运行一次,例如...

    未知1042023-05-12
  • LinuxLinux系统下无法卸载挂载的目录怎么办?

    Linux系统下无法卸载挂载的目录怎么办?

    我们在日常运维中经常性会遇到需要进行磁盘的扩容、卸载、挂载等操作,但是有时候这个系统上跑的应用并没有停止或者有其他的运维同事在操作这个目...

    今日头条10302020-12-30
  • Linux将 Linux 终端与 Nautilus 文件管理器结合起来

    将 Linux 终端与 Nautilus 文件管理器结合起来

    Nautilus 是 GNOME 桌面环境中的图形化文件浏览器。你可以使用它来访问和管理系统中的文件和文件夹。 尽管并非所有人都喜欢使用终端来管理文件和目录,...

    未知812023-08-08
  • Linux在Linux系统中创建新的亚马逊AWS访问密钥的方法

    在Linux系统中创建新的亚马逊AWS访问密钥的方法

    如何在Linux系统中创建新的亚马逊AWS访问密钥?我在配置一个需要访问我的亚马逊AWS帐号的应用时被要求提供AWS访问密钥ID和秘密访问密钥,我怎样创建一个...

    Linux教程网6182019-10-30