主要内容

  • 精确查找

  • 模糊查找

1. 精确查找

find - search for files in a directory hierarchy 递归地在层次目录中处理文件

查找方式:

按文件属性查找
按文件类型查找
按文件大小查找
按时间查找

语法

find path -option 动作

option

  • 按文件属性查找
-name 按文件名查找,区分大小写

-iname 按文件名查找,不区分大小写

-empty 查找空文件或目录

-maxdepth 查找最大深度 /第一级 /var/tmp/ 就是三级 / var tmp

-mindepth 从哪个深度开始查找 /var 第二级

-perm 文件权限 比如4777

-user 文件或文件夹所有者

-uid 文件或文件夹所有者UID

-group 文件或文件夹属组

-gid 文件或文件夹数组GID

-nouser 没有所有者的文件或文件夹 比用用户被删了

-nogroup 没有属组的文件或文件夹

-links 文件或文件夹硬链接数量
example:
查找名为passwd的文件或文件夹 [root@baism ~]# find / -name passwd
查找名为passwd的文件或文件夹,忽略大小写 [root@baism ~]# find / -iname passwd
查找空文件或目录 [root@baism ~]# find / -empty
查找深度2层 [root@baism ~]# find / -maxdepth 3 -perm 4777 包括根三层
从第二层开始查询 [root@baism ~]# find / -mindepth 2 -perm 4777
查找所有者为baism的文件或文件夹 [root@baism ~]# find / -user baism [root@baism ~]# find / -uid 1000
查找属组为baism的文件和文件夹 [root@baism ~]# find / -group baism [root@baism ~]# find / -gid 1000
查找权限为4777的文件 [root@baism ~]# find / -perm 4777
查找没有所有者的文件 [root@baism ~]# find / -nouser
查找没有属组的文件 [root@baism ~]# find / -nogroup
找出硬链接大于2的文件 [root@baism ~]# find / -links +2 -type f
多目录查询 [root@baism ~]# find /etc /home -user baism
  • 按文件类型查找
f 普通文件

d 目录文件

l 符号链接文件

b 块设备 文件

c 字符设备文件

p 管道文件

s 套接字文件

example
查找文件类型为管道文件的 [root@baism ~]# find / -type p
  • 按文件大小查找
+大于
-小于
N 等于
c 字节
k KB
M MB
G GB
example
查找大于100M的文件 [root@baism ~]# find / -size +100M
查找小于1k的文件 [root@baism ~]# find / -size -1k
查找大小为0c的文件 [root@baism ~]# find / -size 0c
  • 按时间查找
+n 是比 n 大,

-n 是比 n 小,

n 正好是 n 。

按时间(天)

mtime修改时间

atime 访问时间

ctime 创建时间

找出一天以内修改过的文件      -mtime       [root@baism ~]# find -mtime -1 -type f
找出一天以前修改过的文件 [root@baism ~]# find -mtime +1 -type f
找出一天以内访问过的文件 -atime [root@baism ~]# find -atime -1 -type f
找出一天以前访问过的文件 [root@baism ~]# find -atime +1 -type f
找出一天以内创建的文件 -ctime [root@baism ~]# find -ctime -1 -type f
找出一天以前创建的文件 [root@baism ~]# find -ctime +1 -type f
  • 按时间(分钟)
-mmin 修改时间

-amin 访问时间
找出十分钟内访问过的文件   -amin      [root@baism ~]# find / -amin -10 -type f
找出10分钟内修改过的文件 -mmin [root@baism ~]# find / -mmin -10 -type f
  • 执行命令
-print 打印输出

-ls 详细列出查找文件信息 类似于ls -l

-delete 删除找到的文件

-fls /PATH/file 把查找到的所有文件的长格式信息保存至指定文件中;

-ok COMMAND {} \; 对查找到的每个文件执行由COMMAND表示的命令;每次操作都由用户进行确认;

-exec COMMAND {} \; 对查找到的每个文件执行由COMMAND表示的命令;
[root@baism ~]# find / -perm 4777 -ls
[root@baism ~]# find / -perm 4777 -delete
[root@baism ~]# find / -user baism -fls /tmp/text
[root@baism ~]# find / -perm 4777 -ok rm -rf {} \;
[root@baism ~]# find / -perm 4777 -exec rm -rf {} \;

2. 模糊查找

locate模糊匹配

locate:模糊查找命令,查找的是linux系统每天特点时间自动索引备份到系统数据库中的文件。

命令语法:locate [OPTION]… PATTERN…

-i 不区分大小写

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

 

Linux上天之路(十五)之文件查找的更多相关文章

  1. Linux学习总结(十五)文件查找 which whereis locate find

    which命令 用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录.which指令会在环境变量$PATH设置的目录里查找符合条件的文件.也就是说,使用which命令,就 ...

  2. Linux上天之路(五)之Linux基本命令

    1. Linux命令格式 命令 命令选项 学会看语法: {必选项}[可选项] 举例 ls -a /tmp 等价 ls –all /tmp ls 命令 -a 命令选项 简写使用- 全写-- /tmp 参 ...

  3. Linux上天之路系列目录

    Linux上天之路系列目录 Linux上天之路(一)之Linux前世今生 Linux上天之路(二)之Linux安装 Linux上天之路(三)之Linux系统目录 Linux上天之路(四)之Linux界 ...

  4. JAVA之旅(二十五)——文件复制,字符流的缓冲区,BufferedWriter,BufferedReader,通过缓冲区复制文件,readLine工作原理,自定义readLine

    JAVA之旅(二十五)--文件复制,字符流的缓冲区,BufferedWriter,BufferedReader,通过缓冲区复制文件,readLine工作原理,自定义readLine 我们继续IO上个篇 ...

  5. Linux上天之路(九)之文件和文件夹的权限

    主要内容 linux 基本权限 linux特殊权限 linux隐藏权限 linux file ACL 权限 1. Linux的基本权限 使用ls -l filename 命令查看文件或文件夹详细权限 ...

  6. Linux学习之CentOS(十五)----磁盘管理之 启动挂载(转)

    启动挂载 /etc/fstab 及 /etc/mtab 刚刚上面说了许多,那么可不可以在启动的时候就将我要的文件系统都挂好呢?这样我就不需要每次进入 Linux 系统都还要在挂载一次呀!当然可以啰!那 ...

  7. Linux上天之路(八)之用户和组

    主要内容. 用户创建,删除,修改 密码及密码文件 组创建,删除,修改 组密码及组配置文件 相关文件 Linux用户分类 超级管理员: UID为0 root用户拥有至高无上的命令,root用户不能改名 ...

  8. Linux上天之路(十)之Linux磁盘管理

    主要内容 磁盘介绍 磁盘管理 磁盘限额 逻辑卷管理 磁盘阵列 1. 磁盘介绍 硬盘最基本的组成部分是由坚硬金属材料制成的涂以磁性介质的盘片,不同容量硬盘的盘片数不等.每个盘片有两面,都可记录信息.盘片 ...

  9. Linux上天之路(十二)之服务管理

    主要内容 服务介绍 独立服务 非独立服务 1. 服务介绍 服务:常驻在内存中的程序,且可以提供一些系统或网络功能,那就是服务. 计算机中的系统服务有很多,比如: apache提供web服务 ftp提供 ...

随机推荐

  1. Java SPI机制,你了解过吗?

    Life moves pretty fast,if you don't stop and look around once in a while,you will miss it 为什么需要SPI? ...

  2. 【Linux】【RedHat】下载 安装 注册

    RedHat 下载 安装 注册 记录 因为找入口太麻烦了,所以写了篇博文记录下来大致入口@萌狼蓝天 注册 点击进入注册地址(https://www.redhat.com/wapps/ugc/regis ...

  3. JUC概述

    JUC概述1: 首先是进程和线程的概念: 进程:是指系统在系统中正在运行的一个应用程序,程序一旦运行就是进程,进程是资源分配的最小单位 线程:进程之内独立执行,是程序执行的最小单位 线程的六大状态:在 ...

  4. windows下安装linux虚拟机(wsl2),并安装docker。

    一.windows terminal(重要工具,但也可以不装) 这是微软官方推荐的终端工具,类似mac的iterm2,可同时开启多个终端,最开始默认有power shall,cmd,可下载gsudo集 ...

  5. 【dva】model中effects函数的解析

    结构 effects: { *pageQuery({ payload = {} }, { select, call, put }) { const res = yield call(pageQuery ...

  6. &pwn1_sctf_2016 &ciscn_2019_n_1 &ciscn_2019_c_1 &ciscn_2019_en_2&

    在做buu题目的时候,发现在最上面有几道被各位师傅打到1分的题,强迫症逼迫我去做那几道题. 这里来试着去解决这些题...讲真的,我感觉自己刷题真的少,即使是很简单的栈题目,我还是能学习到新的东西.这里 ...

  7. YonBuilder低代码开发实践:4行代码实现跨实体列表数据同步

    提到增.删.改.查等数据维护,后端开发者们再熟悉不过了.传统的数据维护通过操作数据库的方式实现,步骤比较繁琐,需要通过Java代码实现数据库链接,然后编写SQL语句.编写实体,将想要的数据存到相应的数 ...

  8. 拖动条形图设置任务关联(Project)

    <Project2016 企业项目管理实践>张会斌 董方好 编著 仅仅是知悉了四种任务关联,那只是纸上谈兵,要把这四种关联真正用到Project上才行,所以我们就要来设置任务关联了. 这是 ...

  9. 升级过log4j,却还没搞懂log4j漏洞的本质?

    摘要:log4j远程代码漏洞问题被大范围曝光后已经有一段时间了,今天完整讲清JNDI和RMI以及该漏洞的深层原因. 本文分享自华为云社区<升级过log4j,却还没搞懂log4j漏洞的本质?为你完 ...

  10. AT5341 [ABC156D] Bouquet 题解

    Content 有一个人有 \(n\) 种不同的话可供选择,TA 可以选择至少一种花做花束,但是 TA 不喜欢花的种数为 \(a\) 或者 \(b\) 的花束.求选花的方案数对 \(10^9+7\) ...