linux中whereis命令用法与which区别

whereis语法

whereis [ -s ] [ -b ] [ -m ] [ -u ] [ { { -S | -B | -M } Directory ... }... -f ] 要找的文件名.

补充说明:whereis指令会在特定目录中查找符合条件的文件。这些文件的属性应属于原始代码,二进制文件,或是帮助文件。

描述

whereis 命令找到指定文件的源、二进制文件和手册等各部分。提供的名称首先去除前导路径名组件和任何(单个的)格式为 .ext 的尾随扩展名(例如,.c)。由于使用源代码控制系统(请参阅 SCCS)而引起的 s. 前缀也会被处理。然后命令试图从一个标准位置列表中查找期望的程序。
如果输入错误的选项,则返回一条用法消息。在其它情况下,不提供诊断。
标志

如果给出 -b、-s、-m 或 -u 标志中的任一个,则 whereis 命令仅分别搜索二进制文件、源、手册或不寻常部分(或其中的两个)。
-b 搜索文件的二进制部分。
-m 搜索文件的手册部分。
-s 搜索文件的源部分。
-u 没有说明文档的文件
-B、-M 和 -S 标志可以用于更改或限制 whereis 命令搜索的位置。由于该程序为了运行得更快而使用了 chdir 子例程,所以用 -M、-S 和 -B 标志目录列表给出的路径名必须是完整的;例如,它们必须以一个 / (斜杠)开始。

-B 与 -b 一样,但是添加了要搜索的目录。更改或限制 whereis 命令搜索二进制文件的位置。
-M 与 -m 一样,但是添加了要搜索的目录。更改或限定 whereis 命令搜索手册部分的位置。
-S 与 -s 一样,但是添加了要搜索的目录。更改或限定 whereis 命令搜索源的位置。
-f 终止最后的 -M、-S 或 -B 目录列表并发文件名起始位置信号。

例子

查找linux中的某个程序可以用whereis 命令来搜索,

比如查找my.cnf

在命令行输入

whereis my.cnf

就会显示这个文件所在的目录了

实例2:将和**文件相关的文件都查找出来

命令:
whereis svn
输出:
[root@localhost ~]# whereis tomcat
tomcat:
[root@localhost ~]# whereis svn
svn: /usr/bin/svn /usr/local/svn /usr/share/man/man1/svn.1.gz
说明:
tomcat没安装,找不出来,svn安装找出了很多相关文件

实例3:只将二进制文件 查找出来

命令:
whereis -b svn
输出:
[root@localhost ~]# whereis -b svn
svn: /usr/bin/svn /usr/local/svn
[root@localhost ~]# whereis -m svn
svn: /usr/share/man/man1/svn.1.gz
[root@localhost ~]# whereis -s svn
svn:
[root@localhost ~]#
说明:
whereis -m svn 查出说明文档路径,whereis -s svn 找source源文件。

补充:which 与whereis 命令区别

功能说明:查找文件。
语  法:which [文件...]
补充说明:which指令会在环境变量$PATH设置的目录里查找符合条件的文件。
参  数:
 -n<文件名长度>  指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
 -p<文件名长度>  与-n参数相同,但此处的<文件名长度>包括了文件的路径。
 -w  指定输出时栏位的宽度。
 -V  显示版本信息

1、which

语法:
[root@redhat ~]# which 可执行文件名称
例如:
[root@redhat ~]# which passwd
/usr/bin/passwd
which是通过 PATH环境变量到该路径内查找可执行文件,所以基本的功能是寻找可执行文件

2、whereis

语法:
[root@redhat ~]# whereis [-bmsu] 文件或者目录名称
参数说 明:
-b : 只找二进制文件
-m: 只找在说明文件manual路径下的文件
-s : 只找source源文件
-u : 没有说明文档的文件
例如:
[root@redhat ~]# whereis passwd
passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz
将和passwd文件相关的文件都查找出来

[root@redhat ~]# whereis -b passwd
passwd: /usr/bin/passwd /etc/passwd

只将二进制文件 查找出来

和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通 过遍历硬盘来查找,效率自然会很高。
但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用whereis和locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新

时间: 2024-09-26 03:34:48

linux中whereis命令用法与which区别的相关文章

Linux中tail命令用法详解_Linux

tail命令也是一个非常常用的文件查看类的命令,今天就为大家介绍下Linux tail命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux tail命令主要用来从指定点开始将文件写到标准输出.很多人喜欢使用tail –f 来监控日志文件. 一.Linux tail命令格式 Linux tail命令 格式如下所示 tail [OPTION]... [FILE]... Linux tail命令 参数如下所示 -f 循环读取 -q 不显示处理信息 -v 显示详细的处理信息 -c

linux中uptime命令用法介绍

uptime命令用法十分简单:直接输入uptime即可. 另外还有一个参数  -V ,是用来查询版本的. (注意是大写的字母v) [linux @ localhost]$ uptime –V procps version 3.2.7 [linux @ localhost]$ uptime 显示结果为: 10:19:04 up 257 days, 18:56,  12 users,  load average: 2.10, 2.10,2.09 显示内容说明: 10:19:04           

linux中htpasswd 命令用法

在你想要限制用户的访问目录下加上下面两行  代码如下 复制代码 auth_basic "enter username and password "; auth_basic_user_file  nginx_passwd: htpasswd 限制 在Windows和MPE平台上, 由htpasswd加密的密码的长度上限是255个字符. 太长的密码会被截断为255个字符. htpasswd使用的MD5算法是专供Apache软件使用的: 其加密的密码不能为其他网站服务器所使用. 用户名的长度

linux中ls命令用法详解

ls 普通文件: -,f 目录文件: d 链接文件(符号链接): L 设备文件: 字符设备:c 块设备:b 命名管道: p 套接字文件: s linux文件时间戳 时间分为三种类型:创建时间, 修改时间:open 访问时间:读写 改变时间:源数据发生改变时间 在linux中同目录中,目录和文件是不能同名的 ls :列出目录内容 ls -a查看所有文件 [root@docker-node1 scripts]# ls -a .  ..  cmdline-jmxclient-0.10.3.jar  j

Linux中多命令执行&#039;;&#039;和&#039;&amp;&amp;&#039;的区别解释_linux shell

前言 在Linux运维过程中或者日常Linux系统操作过程中会同时执行多条命令,这样的话需要通过我们的多重命令方式进行处理.多命令执行包括';'和'&&'命令,这样shell就可以一次执行多个命令,每个命令之间可用':'和'&&'隔开. 那么这两者之间有什么区别,下面来一起看看吧. 1.':' 用':' ---------是先执行第一个命令,不管第一个命令是否出错都执行下一个命令. 2.'&&' 用'&&'--------是当第一个命令正确执

linux中dd命令用法详解

使用权限: 所有使用者dd 这个指令在 manual 里的定义是 convert and copy a file 使用方式: dd [option] 如果你想要在线看 manual, 可以试试: dd --help 或是 info dd 如果你想要看看这个版本如何: dd --version 输入或输出 dd if=[STDIN] of=[STDOUT] 强迫输入或输出的Size为多少Bytes bs: dd -ibs=[BYTE] -obs=[SIZE] 强迫一次只做多少个 Bytes cbs

Linux中colrm命令用法

  NAME colrm命令也算shell中比较常见的命令,用法比较简单从指定的文件移除或过滤指定的列. SYNOPSIS colrm [startcol [endcol ] ] DESCRIPTION Colrm命令能从一个文件中移除指定的列,从一个标准的input文件中提供输入,输出同样为标准输出. EXAMPLE 假如: 文件:text.file 内容:123456789 例1. $ colrm 4 < test.file 那么test.file中的内容为: 123 #从第四列开始全部移除

linux中Shell命令用法入门教程

什么时候使用Shell 因为Shell似乎是各UNIX系统之间通用的功能,并且经过了POSIX的标准化.因此,Shell脚本只要"用心写"一次,即可应用到很多系统上.因此,之所以要使用Shell脚本是基于:     简单性:Shell是一个高级语言:通过它,你可以简洁地表达复杂的操作.     可移植性:使用POSIX所定义的功能,可以做到脚本无须修改就可在不同的系统上执行.     开发容易:可以在短时间内完成一个功能强大又妤用的脚本. 但是,考虑到Shell脚本的命令限制和效率问题

linux中useradd命令用法

命令: useradd 添加用户 adduser 添加用户 passwd 添加密码 usermode 修改用户信息 chsh 修改用户shell chage 修改账号日期 chfn 修改用户信息 userdel 删除用户 groupadd 添加组 groupmde 修改组 groupdel 删除组 newgrp 切换基本组 systemd-network:!!:16982:::::: 用户名:密码占位符:UID:基本组ID:用户备注信息:用户家目录:默认shell 当一个用户创建完成后会将/et