常用命令-查找命令

1. which

which [-a] command
查找系统命令位置,只在$path环境变量中查找,并且默认只返回第一个查找结果
参数:

  • -a 列出所有的查找结果
    例: which -a php

2. type

type [option] command
用于区别某个命令到底是由shell自带的,还是shell外部的独立二进制文件提供的
参数:

  • -t 输出命令的type,比如:alias,file,builtin
  • -p 如果是外部命令,则输出绝对地址
    如:type -t cd

3. whereis

whereis [-bmsu] file
whereis命令用于定位可执行文件、源代码文件、帮助文件在系统中的位置
参数:

  • -b查找二进制文件
  • -m查找说明文件
  • -s查找源代码文件
  • -u查找非上述三种文件的其他文件
    例:whereis -b php
    **PS:whereis默认从数据库文件(linux将所有的文件都记录在一个数据库文件,但并不实时更新,一般一天更新一次)中查找指定文件,因此whereis比其他从硬盘查找的命令,效率高很多

4. find

find [path] [option] [action]
find命令可查找指定路径下所有符合条件的文件或目录,find命令参数可以拟分成两大类,一种是普通参数,一种是时间参数
普通参数:

  • type 根据文件类型进行搜索
    find /usr/bin/ -type d 查找/usr/bin/目录下的所有目录
  • name 根据文件名进行搜索(-iname不区分大小写)
    find /usr/bin -name '*.jpg' 查找/usr/bin/目录下以JPG为后缀的文件和目录
  • size 根据文件的大小进行搜索(+n大于 -n小于)
  • prem 根据文件读写权限进行搜索
  • -group 根据文件拥有组进行搜索
  • -empty 匹配空文件或空目录

时间相关参数:

  • -time 天
  • min 分钟
  • +n n天(分钟)之前
  • -n n天(分钟)之内
  • -atime +n 搜索n天前被访问过的文件或目录
  • -mtime -n 搜索n天前被修改过文件内容的文件或目录
  • -cmin -n 搜索n分钟之内被被修改过文件内容、权限、属性的文件或目录
  • 。。。

5. locate

此命令和find / -name类似,但是它是从数据库文件中查找指定文件,因此效率比find快得多

  • -i 忽略大小写
  • -r 使用正则表达式做匹配条件。

总结

  1. 五个查找命令中,find、locate、whereis是用来查找具体的文件,which、type是用来查找命令(which也相当于查找文件,但是只是查找命令位置)
  2. whereis只查找3中类型的文件:二进制文件、说明文件、源代码文件
  3. whereis和locate都是从数据库文件查找,所以效率最高
  4. 使用优先级:
    • 区分命令,使用type
    • 查找命令位置,使用which、whereis、type(优先使用whereis)
    • 通过文件名查找,优先使用locate,找不到时,updatedb
    • 其他查找条件、或者因数据库文件未更新,使用whereis、lacate找不到时用find
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • which 查看可执行文件的位置 命令格式:which 可执行文件名称 命令功能:which指令会在PATH变量指...
    upupSue阅读 716评论 0 1
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,243评论 2 33
  • Which which [-a] command 查找系统命令位置,只在$PATH环境变量中查找,并且默认只返回第...
    Lee_DH阅读 541评论 0 5
  • Linux下一切皆文件,但是文件由于文件的属性的不同,在查找上可以针对不同的文件做相应的查找以便加快查询速度和减少...
    常青藤成阅读 1,066评论 0 0
  • 这一章是告诉我们如何找备胎的。真的。 有一种秀优越感,叫附加题我连题目都看不懂,你却告诉我你大概有4种解法来完成这...
    阿不快跑阅读 856评论 3 0