Linux查找命令find、loacte、whereis、which、type梳理

Linux操作系统中有5种常用的查找命令:find,locate,whereis,which,type,他们分别用于查找不同的东西,本文将就他们各自的功能进行一下梳理。

find

功能

find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件。

Linux find 命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

语法

find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;

find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression。

expression 中可使用的选项有二三十个之多,在此只介绍最常用的部份。

-mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件

-amin n : 在过去 n 分钟内被读取过

-anewer file : 比文件 file 更晚被读取过的文件

-atime n : 在过去n天内被读取过的文件

-cmin n : 在过去 n 分钟内被修改过

-cnewer file :比文件 file 更新的文件

-ctime n : 在过去n天内被修改过的文件

-empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name

-ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写

-name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写

-size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。

-type c : 文件类型是 c 的文件。

d: 目录

示例

find . -name "*.c"     # 将当前目录及其子目录下所有文件后缀为 .c 的文件列出来
find . -type f              # 将当前目录及其子目录中的所有文件列出
find . -ctime -20     # 将当前目录及其子目录下所有最近 20 天内更新过的文件列出
find /var/log -type f -mtime +7 -ok rm {} \;   # 查找 /var/log 目录中更改时间在 7 日以前的普通文件,并在删除之前询问它们
find . -type f -perm 644 -exec ls -l {} \;          # 查找当前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件
find / -type f -size 0 -exec ls -l {} \;                # 查找系统中所有文件长度为 0 的普通文件,并列出它们的完整路径

locate

介绍

Linux locate命令用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。

一般情况我们只需要输入 locate [your_file_name] 即可查找指定文件。

语法

locate [-d ][--help][--version][范本样式...]

示例

locate train.py      # 查找trin.py文件

说明

locate 与 find 不同: find 是去硬盘找,locate 只在 /var/lib/slocate 资料库中找。

locate 的速度比 find 快,它并不是真的查找,而是查数据库,一般文件数据库在 /var/lib/slocate/slocate.db 中,所以 locate 的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库 :updatedb

whereis

功能

Linux whereis命令用于查找文件。

该指令会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。

该指令只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令。

语法

whereis [-bfmsu][-B <目录>...][-M <目录>...][-S <目录>...][文件...]

示例

whereis conda

which

功能

Linux which命令用于查找文件。笔者通常用来查找命令的执行文件的位置,因为环境变量中$PATH存放的就是命令的执行文件的位置。如which rmwhich conda

which指令会在环境变量$PATH设置的目录里查找符合条件的文件。

语法

which [文件...]

示例

which rm

type

功能

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

示例

$ type cd
cd is a shell builtin
$ type nv
nv is aliased to `watch -n 0.5 nvidia-smi'
$ type nvidia-smi
nvidia-smi is /usr/bin/nvidia-smi

cd是bash自带的命令,nv是笔者自己设置的别名,nvidia-smi则是英伟达显卡状态查看命令。

Ref:

https://www.runoob.com/linux/linux-comm-find.html

https://www.cnblogs.com/kex1n/p/5233821.html

Linux查找命令find、loacte、whereis、which、type梳理相关推荐

  1. linux查找命令which、whereis、find比较解析

    which 命令格式 which --help Usage: /usr/bin/which [options] [--] COMMAND [...] Write the full path of CO ...

  2. Linux下,文件查找命令which,whereis,find,别名命令alias,统计命令wc

    Linux下,文件查找命令which,whereis,find,别名命令alias,统计命令wc O.简要 1.Linux系统中查找文件比较常用的命令就是which,whereis,find,最常用的 ...

  3. 【Linux学习笔记】8. Linux查找命令:find和grep详解

    Linux查找命令 find查找文件 grep查找字符串 1. find命令 有多种使用方式: 根据文件名搜索 根据文件大小搜索 根据文件类型搜索 根据修改时间搜索 根据文件权限搜索 根据文件所有者搜 ...

  4. Linux下4个查找命令which、whereis、locate、find的使用与区别

    Linux下查找相关命令主要有以下4个:which.whereis.locate.find. (1)which   [-a]    cmdname1 cmdname2 ...... 作用:locate ...

  5. Linux下4个查找命令which、whereis、locate、find

    1.which 作用:从环境变量PATH中,定位.返回与指定名字相匹配的可执行文件所在的路径 原理:执行which命令时,which会在当前环境变量PATH中依次寻找能够匹配所找命令名字的可执行文件 ...

  6. linux查找文件限制时间,Linux查找命令find与文件三种时间

    Linux中查找命令如下: Which 查看可执行文件的位置. whereis 查看文件的位置. locate 配合数据库查看文件位置. Find 实际搜寻硬盘查询文件名称. 其中find的功能很强大 ...

  7. linux基础命令where和whereis

    where和whereis 目的:查找命令或应用程序的所在位置 格式: which 命令名/应用程序名 我们在终端的命令行上执行pwd,实际上是去执行了/bin/pwd应用程序 我们一起来使用一下看看 ...

  8. linux 查找命令

    CentOS Linux学习笔记总结(八十六)-CentOS Linux系统的查找命令find find命令是用于在指定目录下查找文件,并可以对查找到的文件进行指定的操作.它的查找是从指定目录开始,并 ...

  9. linux查找命令、find、grep总结

    find 命令   语法:find 搜索路径 匹配表达式   功能:该命令用于在指定路径中查找符合条件的文件,搜索路径可以是多个目录,不同目录之间以空格分隔   (1)匹配表达式1        -n ...

最新文章

  1. python爬虫之微打赏(scrapy版)
  2. iOS - 数据的归档和反归档
  3. 【LeetCode】6.Z 字形变换
  4. android刷新时的圆形动画_【Android】圆形揭露动画
  5. python 抓包基于pypcap
  6. 工作121:[““]进行变量赋值
  7. router锚点和html锚点,hash模式下Vue-router页面返回锚点(scroll behavior)实现
  8. oracle查看序列数据语法,oracle查询各种数据字典的语法
  9. php web表格导出,javascript将web表格导出成excel
  10. boost::asio async_write也不能保证一次发完所有数据 一
  11. EXCEL 代码大全
  12. JanusGraph
  13. Linux SD卡驱动开发(三) —— SD 卡驱动分析CORE篇
  14. 20200209毕设日记-开题报告
  15. Spring Kafka:@KafkaListener 单条或批量处理消息
  16. 《MATLAB 神经网络43个案例分析》:第4章 神经网络遗传算法函数极值寻优——非线性函数极值寻优
  17. 微信小程序正则表达式
  18. Mysql主主同步(主从同步)
  19. 第三方物流学习(四)
  20. mysql一个字符占用多少个字节

热门文章

  1. Activiti WAR 包简介
  2. 运行Jenkins部署任务
  3. idea 提升幸福感 常用设置(重装机配置)
  4. 小程序开发(1)-之目录结构和文件说明
  5. 虚拟机安装centos
  6. python os.path.splitext()的用法_Python常用模块之os.path
  7. html5画布 文本无法显示,淡出HTML5画布中的文本效果
  8. 计算机职称业务工作业绩总结,档案职称工作业绩
  9. BugkuCTF-MISC题可爱的故事
  10. 鸿蒙测试机型微博,华为多款机型开启鸿蒙尝鲜:微博已适配HarmonyOS小尾巴