参考链接:https://mp.weixin.qq.com/s/y8LeZ0-9D56TWsD-ivPaHQ

一.按文件名称查找

按照文件名称查找是 find 最常见的用法,需要注意的是,搜索的文件名必须完全匹配,才能找到对应的文件。

  1.查找当前目录下所有的 java文件

  find . -name '*.java'

  2.在 etc目录下 ,查找大写字母开头的txt文件

  find /etc -name "[A-Z]*.txt" -print

   在etc目录下,查找小写字母开头的log文件

  find /etc -name "[a-z]*.log" -print

  3.在当前目录下查找不是out开头的txt文件

  find . -name "out*" -prune -o -name "*.txt" -print

  4.在当前目录除git子目录外查找txt文件

  find . -path "./git" -prune -o -name "*.txt" -print

二.按文件类型查找

  1.在当前目录下,查找软连接文件

  find . -type l -print

  2.在当前目录下,查找log结尾的普通文件,f 表示普通文件类型

  find . -type f -name "*.log"

 

三.按文件大小查找

  1.查找小于60K的文件

  find . -size -64k -print

  2.查找大小超过200M的文件

  find . -size +200M -type f -print

四.按时间查找

  1.查找2天内被修改过的文件

  find . -mtime -2 -type f -print

  2.查找 2 天前被更改过的文件,-mtime 表示内容修改时间

  find . -mtime +2 -type f -print

  3.查找一天内被访问的文件,-atime 表示访问时间

  find . -atime -1 -type f -print

  4.查找一天内状态被改变的文件,-ctime 表示元数据被变化时间

  find . -ctime -1 -type f -print

  5.查找比 chopin.txt 新的文件

   find . -newer "chopin.txt" -type f -print
   find . ! -newer "chopin.txt" -type f -print # 旧

 

五.总结归纳

find 命令是 Linux 命令中最有用的命令之一,它的功能非常强大,且语法复杂。其实我们不一定需要了解它的所有细节,掌握上述实战案例中的常见用法,足够满足日常工作中的大部分需求。

下边我们一起来总结下 find 命令常见用法,加深对 find 使用方法的理解。

命令格式

  find path -option [-exec ...]

按文件名查找

  • -name:按照文件名称查找,准确匹配;
  • -iname:不区分文件名的大小写;
  • -inode:按照文件 inode 号查找

按照文件类型查找

 按照文件类型查找,可以使用 -type 选项,具体支持的文件类型如下:

  • f:普通文件
  • d:目录文件
  • l:链接文件
  • s:套接字文件
  • p:管道文件
  • b:块设备文件,比如:磁盘
  • c:字符设备文件,比如:键盘、鼠标、网卡

按照文件从属关系查找

  • -user:以用户名查找
  • -group:以组名查找
  • -uid:以用户 ID 查找
  • -gid:以组 ID 查找
  • -nouser:查找没有属主的文件
  • -nogroup:查找没有属组的文件

按照文件大小查找

按照文件大小查找功能十分常用,用 -size 选项,选项后边指定大小 1024M,表示大小的格式有如下几种:

  • -5M:查找小于 5M 的文件
  • +5M:查找大于 5M 的文件
  • 5M:查找大小为 5M 的文件

 单位支持的有 c(字节)kMG 等,需要注意的是默认单位并不是字节,而是b,大小为 512 字节。

【find】linux文件搜索命令find/locate的更多相关文章

  1. Linux的文件搜索命令(locate ,find,grep,find命令和)

    刚开始学Linux,这是关于Linux文件搜索命令,就目前,尽我所能把他写全一点,后期随时补充 文件搜索命令 一.locate命令 二.find命令 三.grep命令 四.find命令和grep命令的 ...

  2. Linux文件搜索命令

    文件搜索命令:locate locate 文件名 在后台数据库中按文件名搜索,搜索速度很快(比find命令要快得多) locate命令所搜索的后台数据库的位置:/var/bin/mlocate 支持模 ...

  3. Linux 文件搜索命令:find、which、whereis 和 locate

    Linux 提供了许多用于文件搜索的命令,这些命令都很强大,但是也有一些不同之处,这里分别介绍一下. 一.find 命令 find 是最常见和最强大的一个文件搜索命令.使用 find 命令可以在指定目 ...

  4. Linux系列教程(六)——Linux文件搜索命令

    前一篇博客我们讲解了Linux链接命令和权限管理命令, 通过 ln -s  链接名 表示创建软链接,不加-s表示创建硬链接:还有三个更改权限的命令,chmod命令可以更改文件或目录权限,chown命令 ...

  5. Linux —— 文件搜索命令

    文件搜索命令(配置文件/etc/updatedb.conf) locate 文件名 搜索速度非常快 在后台数据库中按照文件名搜索 updatedb 更新数据库 只可以按照文件名搜索 whereis 命 ...

  6. linux 文件搜索命令find、-name、-iname、通配符*?、-size、-user、-group、-amin、-cmin、-mmin、-a、-o、-exec/-ok、-inum

    尽可能规划好目录结构,少用文件搜索操作,因为它会占用大量的系统资源 find /bin/find find [搜索范围] [匹配条件] find /etc -name initfind /etc -n ...

  7. linux 文件搜索命令locate及updatedb

    windows 搜索工具Everything是根据NTFS日志来搜索的,所以速度特别快 locate 类似于windows的Everything,搜索速度比较快 如果没有locate命令,可安装 yu ...

  8. Linux文件搜索命令locate、which、grep详解

    命令locate详解 命令locate,其基本功能是在文件资料库中可以快速的搜索系统文件,占用系统资源很少,例如:locate my.cnf 还可以使用locate -i [文件名],不区分大小写进行 ...

  9. Linux——文件搜索命令简单笔记

    一: 命令名称:which 命令所在路径:/usr/bin/which 执行权限:所有用户 功能描述:显示系统命令所在目录 范例:$ which ls 还有一个whereeis ls 命令 二: 命令 ...

随机推荐

  1. AJAX基本操作

    XMLHttpRequest对象: XMLHttpRequest 是 AJAX 的基础.所有现代浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject) ...

  2. Bullet碰撞检测

    DBVT 在bullet 引擎中是很基础且重要的一个数据结构,本质上是一个可以动态更新的AABB树. 碰撞响应的分析 约束分类:可积约束,不可积约束 ,摩擦力(见[1]第四章) 整个bullet在动力 ...

  3. Nginx常见的错误配置

    Blog:博客园 个人 翻译自Common Nginx misconfigurations that leave your web server open to attack Nginx是当前主流的W ...

  4. 深入浅出新一代跨平台抓包&调式利器Fiddler Everywhere

    什么是Fiddler Everywhere? Fiddler Everywhere is a web debugging proxy for macOS, Windows, and Linux. Ca ...

  5. js--this指向的相关问题

    前言 关于this的指向问题是前端面试中常考的知识点,也是我们开发学习中较难理解的问题.作为JavaScript的基础,需要我们彻底理解这一关键词.this作为JavaScript中非常复复杂的机制, ...

  6. pandas函数的使用

    一.Pandas的数据结构 1.Series Series是一种类似与一维数组的对象,由下面两个部分组成: values:一组数据(ndarray类型) index:相关的数据索引标签 1)Serie ...

  7. 循环单链表定义初始化及创建(C语言)

    #include <stdio.h> #include <stdlib.h> /** * 含头节点循环单链表定义,初始化 及创建 */ #define OK 1; #defin ...

  8. 基础篇:java.security框架之签名、加密、摘要及证书

    前言 和前端进行数据交互时或者和第三方商家对接时,需要对隐私数据进行加密.单向加密,对称加密,非对称加密,其对应的算法也各式各样.java提供了统一的框架来规范(java.security)安全加密这 ...

  9. 2019 GDUT Rating Contest II : Problem C. Rest Stops

    题面: C. Rest Stops Input file: standard input Output file: standard output Time limit: 1 second Memory ...

  10. (四)SpringBoot启动过程的分析-预处理ApplicationContext

    -- 以下内容均基于2.1.8.RELEASE版本 紧接着上一篇(三)SpringBoot启动过程的分析-创建应用程序上下文,本文将分析上下文创建完毕之后的下一步操作:预处理上下文容器. 预处理上下文 ...