linux命令中which、whereis、locate有什么区别?

作者&投稿:泷力 (若有异议请与网页底部的电邮联系)
linux中whereis命令与locate命令有什么区别?~

whereis 严格来讲是从你环境变量的路径中查找目标
locate则是从 updatedb命令生成的数据库中查找目标
前者在于快,但是范围有限 ,后者可以做到全盘文件检索 ,但是要定时运行updatedb更新数据库 ,以保证内容的实时性。关于这个linux系统的学习,我一直看刘遄老师的书籍《linux就该这么学》

linux中查找命令find、locate、whereis、which、type区别

1. find
www.2cto.com
Java代码
find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件。与查询数据库(/var/lib/locatedb)文件不同,find查找磁盘空间

  find的使用格式如下:

  $ find

  - : 所要搜索的目录及其所有子目录。默认为当前目录。

  - : 所要搜索的文件的特征。

  - : 对搜索结果进行特定的处理。
www.2cto.com
  如果什么参数也不加,find默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。

  find的使用实例:

  $ find . -name 'my*'

  搜索当前目录(含子目录,以下同)中,所有文件名以my开头的文件。

  $ find . -name 'my*' -ls

  搜索当前目录中,所有文件名以my开头的文件,并显示它们的详细信息。

  $ find . -type f -mmin -10

  搜索当前目录中,所有过去10分钟中更新过的普通文件。如果不加-type f参数,则搜索普通文件+特殊文件+目录。

  2. locate
  
Java代码
locate命令其实是“find -name”的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。

  locate命令的使用实例:

  $ locate /etc/sh

  搜索etc目录下所有以sh开头的文件。

  $ locate ~/m

  搜索用户主目录下,所有以m开头的文件。

  $ locate -i ~/m

  搜索用户主目录下,所有以m开头的文件,并且忽略大小写。

  3. whereis
  
Java代码
whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。同locate一样,查询数据库(/var/lib/locatedb)文件

  whereis命令的使用实例:

  $ whereis grep

  4. which
  
Java代码
which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

  which命令的使用实例:

  $ which grep

  5. type
  
Java代码
type命令其实不能算查找命令,它是用来区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的。如果一个命令是外部命令,那么使用-p参数,会显示该命令的路径,相当于which命令。
www.2cto.com
  type命令的使用实例:

  $ type cd

  系统会提示,cd是shell的自带命令(build-in)。

  $ type grep

  系统会提示,grep是一个外部命令,并显示该命令的路径。

  $ type -p grep

  加上-p参数后,就相当于which命令。

which (寻找执行档) :这个指令是根据PATH这个环境变量所规范的路径,去搜寻执行档的档名,所以,重点是找出执行档而已,which 后面接的是完整档名\x0d\x0awhereis (寻找特定档案):搜寻linux数据库档案中所记录的东西,和locate的主要区别在于后面的参数\x0d\x0alocate:搜寻linux数据库档案中所记录的东西,后面直接跟档案的部分名称就行\x0d\x0afind:直接搜索整个硬盘

locate命令不是实时查找,所以查找的结果不精确,但查找速度很快。

which命令是查找命令是否存在,以及命令的存放位置在哪儿。

whereis命令只能用于搜索程序名,而且只搜索二进制文件



which (寻找执行档) :这个指令是根据PATH这个环境变量所规范的路径,去搜寻执行档的档名,所以,重点是找出执行档而已,which 后面接的是完整档名
whereis (寻找特定档案):搜寻linux数据库档案中所记录的东西,和locate的主要区别在于后面的参数
locate:搜寻linux数据库档案中所记录的东西,后面直接跟档案的部分名称就行
find:直接搜索整个硬盘

  1.find
  find是最常用和最强大的查找命令。它能做到实时查找,精确查找,但速度慢。
  find的使用格式如下:
  #find [指定目录] [指定条件] [指定动作]
  指定目录:是指所要搜索的目录和其子目录。如果不指定,则默认为当前目录。
  指定条件:是指所要搜索的文件的特点。
  指定动作:是指对搜索的结果如何处理。
  常见选项:
  -name 根据文件名称查找(严格区分大小写,如果文件名中间有空格,则必须把文件名用双引号引起来)
  -iname 根据文件名查找(不区分大小写)
  -regex "PATTERN" 正则表达式匹配
  -user 根据文件属主进行查找
  -group 根据文件属组进行查找
  -uid 根据文件的uid查找
  -gid 根据用户的gid查找
  -nouser 查看所有的没有属主的文件
  -nogroup 查看所有的没有属组的文件
  例:查看tmp目录下,文件属主为redhat的文件
  #ls -l `find /tmp -user redhat`

  2.locate
  locate命令不是实时查找,所以查找的结果不精确,但查找速度很快。因为它查找的不是目录,而是一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。
  locate使用格式
  locate [指定目录]
  例:查找所有包含passwd的文件
  #locate passwd
  例:查找所有包含passwd的文件,并且只显示前十个
  #locate -n 10 passwd

  3.which
  which命令是查找命令是否存在,以及命令的存放位置在哪儿。
  例:#which ls

  4.whereis
  whereis命令只能用于搜索程序名,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
  whereis命令的使用实例:
  #whereis vim
  
  5.type
  type命令用来区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的。如果一个命令是外部命令,那么使用-p参数,会显示该命令的路径,相当于which命令。
  
  #type cd
  系统会提示,cd是shell的自带命令(build-in)。
  
  #type grep
  系统会提示,grep是一个外部命令,并显示该命令的路径。
  
  #type -p vim
  加上-p参数后,就相当于which命令


找有关计算机组装的简单教学视频或动漫
视频Linux服务器配置及命令讲解视频教程 Linux服务器配置及命令讲解与演示,包括服务器配置,管理,网络操作,常用命令的讲解和实际演示。 http:\/\/www.educity.cn\/user\/xch\/from.asp?id=43&wh=helploving 视频 软件开发过程改进视频教程 通过本课程的学习可以使学员把握CMM的精髓,从而在具体的项目中实施CMM。 http:\/\/...

鑫威KW9000WH主要性能
在硬件配置上,采用64位处理器,支持高达64GB ECC内存(标配12GB),确保了系统的高性能和稳定性。产品尺寸为693×432×397mm,大小适中,易于安装和部署。系统兼容性方面,支持Windows、Unix、Linux和MAC操作系统,满足了不同用户群体的需求。综上所述,鑫威KW9000WH以其强大的存储容量、灵活的接口配置、...

TUXEDO的首款原生AMD Linux游戏本配备哪些硬件,售价多少?
在显示方面,Sirius 16 Gen 2采用16.1英寸屏幕,分辨率达到2560x1440,高达165Hz的刷新率提供了流畅的视觉体验。屏幕亮度达到300尼特,对比度1000:1,色彩覆盖达到100% sRGB,确保色彩表现力出色。在便携性方面,它内置80Wh的大电池,支持Wi-Fi 6E,满足移动办公和游戏的需求。机身接口丰富,包括两个USB...

如何修复XP引导 我的引导被ubuntu覆盖啦
重启电脑,Grub 已经不复存在,双系统Linux Ubuntu 卸载完成,电脑启动自动进入Windows XP 系统….”参考资料:http:\/\/blog.163.com\/xiaohui_wh\/blog\/static\/4413129820109810253109\/

...锐龙版第三方Linux版双11预售价3899元,Linux系统有何限制?_百度知 ...
在配置上,8GB DDR4内存和512GB PCIe SSD提供了充足的存储空间,42Wh电池能提供长达10小时的本地视频续航。不过,需要注意的是,预装的Linux系统可能无法运行Windows软件和游戏,但可恢复部分功能如一碰传和指纹开机。原价4099元的华为MateBook 13锐龙版Linux版在双11期间的优惠力度明显,仅需3899元,且...

求救:500G硬盘怎么只有不到300G。[泪] 今天对linux deepin这个系统比较...
现在看来只有从新分区!所有资料将全部丢失!不过在硬盘分区软件里!有恢复数据的选择!你可以试试!

关于计算机二级考试
Linux服务器配置及命令讲解视频教程 Linux服务器配置及命令讲解与演示,包括服务器配置,管理,网络操作,常用命令的讲解和实际演示。 http:\/\/bbs.csai.cn\/xch\/from.asp?id=43&wh=hifuge 自考互联网的应用视频教程 讲解的过程中采用大量的例题对相关知识点进行讲解,帮助学习者能更好的理解、掌握相关知识点。 http:\/...

windows怎么安装linux
序列号:(任选其一)5A02H-AU243-TZJ49-GTC7K-3C61N,VF5XA-FNDDJ-085GZ-4NXZ9-N20E6,UC5MR-8NE16-H81WY-R7QGV-QG2D8,ZG1WH-ATY96-H80QP-X7PEX-Y30V4,AA3E0-0VDE1-0893Z-KGZ59-QGAVF (2)然后下载好你需要的Linux系统版本进行安装。(安装系统时建议查看相关安装教程)希望...

哪位大哥有vmware for linux (带序列号)给小弟一个吧。
VMware Workstation 5 for Linux DA925-HP80U-Z8HDC-4WXXP 3KW2W-AYR2C-88M6F-4MDQ2 VMware.GSX.Server.3.1.0-9089.for.Windows 98XY4-54VA4-4216V-4PDZ6 WH0M5-XW50J-WA4FU-4MTZ3 VMware-gsx-server-3.1.0-9089.for Linux N218N-NR66R-F0JDF-4P9NP H2W8H-X82DC-J8N6G-...

在thinkpad new x1 carbon上使用Linux是怎样的体验
区别主要在一下3点 Fn键盘由2014版本的触摸换回了第一代的普通按键 使用了最新一代的处理器平台,性能有10%的增益,显卡性能提高20% 电池增大7Wh,相比上一代,续航上有1个小时左右的提高!

万宁市18769493770: Linux新人问两个关于linux中的which命令的问题? -
郯黎欣洛: 以下为which为详细说明,参看以确实问题. which命令属于文件查找和比较命令 which命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录.which指令会在环境变量$PATH设置的目录里查找符合条件的...

万宁市18769493770: 在linux中,请问which ls rpm shutdown reboot 的具体分析和怎么理解. -
郯黎欣洛: 命令 --help 可以看到命令参数,linux的命令参数太多,要自己慢慢消化 which which指令会在环境变量$PATH设置的目录里查找符合条件的文件 ls 显示当前目录,相当于DOS的dir rpm -ivh 安装rpm包 shutdown -h now 关机,并关闭电源 reboot 重新启动

万宁市18769493770: Linux中which有哪些用法? -
郯黎欣洛: which指令会在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果. 语法which[可执行文件名称] n 指定文件名长度指定的长度,必须大于或等于所有文件中最长的文件名 p 与n参数相同,但此处的包括了文件的路径 w 指定输出时栏位的宽度 V 显示版本信息 希赛里有很多这些常见命令的解释, 可以去看看.

万宁市18769493770: Linux下的which命令 -
郯黎欣洛: which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果.也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令. 1.命令格式:which 可执行文件名...

万宁市18769493770: linux的命令细节
郯黎欣洛: 1、which,whereis,locate,find的分析: which一般用来查找指令的具体位置,它搜索的是$PATH路径下所有的目录. whereis查找的范围比which大一些,除了查找$PATH,还会找一些main的手册等. locate搜索的范围更大,它是基于自己的一个数据...

万宁市18769493770: linux的常用命令有那些 -
郯黎欣洛: linux常用命令(基础) 1. man 对你熟悉或不熟悉的命令提供帮助解释 eg:man ls 就可以查看ls相关的用法 注:按q键或者ctrl+c退出,在linux下可以使用ctrl+c终止当前程序运行. 2. ls 查看目录或者文件的属*,列举出任一目录下面的文件 eg: ls /...

万宁市18769493770: linux 操作系统 常用 命令 有哪些 -
郯黎欣洛: 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘...

万宁市18769493770: linux 操作系统 常用 命令 有哪些? -
郯黎欣洛: 一. 启动,关机,登入,登出相关命令 <login> 登录 <logout> 登出 <exit> 登出 <shutdown> 停止系统 <halt> 停止系统 <reboot> 重启动 <poweroff> 切断电源 <sync> 把内存里的内容写入磁盘 <lilo> 安装lilo启动管理程序 <grub> 安装lilo启动管理程序 ...

万宁市18769493770: linux中的命令在哪个文件夹 -
郯黎欣洛: 是所有命令吗? /usr/bin 在这里. 如果你想找其它命令 在确认好命令的名字后,例如“cd” whereis cd 它就会自动显示cd这个命令的相关位置 以上回答由东莞市万里行橡胶有限公司提供,望采纳.

万宁市18769493770: 在linux上如何查看哪些命令可以使用 -
郯黎欣洛: 把Linux系统上所有可用的命令都列出来是不可能的,Linux上有哪些命令可用只能在使用过程中知道,不过可以输入命令的前几个字符,然后再按下键盘上的Tab键两次,Linux会列出以输入的字符开头的所有可用的命令,举个例子:输入字符w,然后按下键盘上的Tab键两次,Linux会列出一些可用的命令,里面就包括which这个命令、whereis这个命令、who、wc等等命令.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网