文件查找工具find命令总结

简介:

一、简介

   find是一个文件查找工具,是在系统工具上查找默认的文件,跟locate类似。

二、与locate优缺点比较

   locate:

     优点:查找速度快,自动更新数据库

     缺点:依赖于数据库,非实时查找,结果非精确,模糊查找

   find:

     优点:精确匹配,实时查找

     缺点:查询速度较慢

三、命令详解

   1)、格式

   find [options] [查找路径] [查找条件] [处理动作]

   2)、查找条件

      查找条件:如果不写,默认则为当前目录

      -name "文件名称": 支持使用gloab(文件通配)

       查找/etc目录下以fstab为文件名的文件

1
2
[root@localhost ~]# find /etc/ -name fstab
/etc/fstab

      查找/etc目录下以a开头的文件

1
2
3
4
5
6
7
8
9
10
11
[root@localhost ~]# find /etc/ -name  "a*"
/etc/autofs_ldap_auth.conf
/etc/acpi
/etc/acpi/actions
/etc/aliases.db
/etc/X11/applnk
/etc/auto.net
/etc/xdg/autostart
/etc/xdg/autostart/at-spi-registryd.desktop
/etc/xdg/menus/applications-merged
/etc/xdg/menus/applications.menu

    -iname "文件名称":查找是不区分大小写

     查找 /tmp/test文件夹下的1N1和1n1文件

1
2
3
[root@localhost test]# find /tmp/test/ -iname 1n1
/tmp/test/1n1
/tmp/test/1N1

     -user UserName:根据文件的属主查找

     现在/tmp下的内容如下

1
2
3
4
5
6
7
8
9
10
[root@localhost tmp]# ll
total  44
-rw-------    1  openstack openstack    812  Feb  15  17 : 59  grub.conf
-rwx------.   1  openstack root        1195  Feb  13  11 : 15  ks-script-rq0L47
-rwxr-xr-x.   1  root      root         346  Feb  13  11 : 15  ks-script-rq0L47.log
drwxr-xr-x   12  root      root        4096  Feb  15  19 : 38  logs
-rwxr-xr-x    1  root      root       19153  Feb  15  18 : 06  rc.sysinit
drwxr-xr-x    2  root      root        4096  Feb  20  21 : 34  test
-rw-------.   1  root      root           0  Feb  13  10 : 49  yum.log
-rw-------    1  root      root         202  Feb  20  20 : 50  yum_save_tx- 2014 - 02 - 20 - 20 -50DIA6bO.yumtx

     查找/tmp/文件夹下的用户属主为openstack的文件  

1
2
3
[root@localhost tmp]# find /tmp/ -user openstack
/tmp/grub.conf
/tmp/ks-script-rq0L47

     -group GroupName:根据用户的属组查找文件

     查找以属组为openstack的文件

1
2
[root@localhost tmp]# find /tmp/ -group openstack
/tmp/grub.conf-

    -uid UID:根据属主的UID查找

    -GID GID:根据属组的GID查找

    -nouser:查找没有属主的文件

    -nogroup:查找没有属组的文件

    查找条件可以使用组合条件进行查询

    -a:与,同时满足,可忽略

    查找/var目录中属主为root且属组为mail的文件

1
2
[root@localhost tmp]# find / var / -user root -group mail
/ var /spool/mail

    -o:或,只要有一个满足就可以

    查找/usr目录下属于root或bin的所用文件

1
2
[root@localhost tmp]# find /usr/ -user root -o -user bin
由于文件太多,此处不粘贴查找结果

     -not 非,跟!相同,即本条件取反

   查找/usr目录下不属于root或bin的所用文件

1
2
[root@localhost tmp]# find /usr/ -not -user root -not -user bin
/usr/libexec/abrt-action-install-debuginfo-to-abrt-cache

   -type 根据文件类型查找

     f:普通文件

     d:目录

     b: 块设备

     c:字符设备

     l:符号链接文件

     p:命名管道

     s:套接字

   查找/etc目录下的所有软链接

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@localhost tmp]# find /etc/ -type l
/etc/init.d
/etc/gdm/Xsession
/etc/rc1.d
/etc/rc
/etc/X11/xinit/xinputrc
/etc/X11/fontpath.d/cjkuni-fonts-ukai
/etc/X11/fontpath.d/cjkuni-fonts-uming
/etc/X11/fontpath.d/xorg-x11-fonts-100dpi:unscaled:pri= 30
/etc/X11/fontpath.d/fonts- default
/etc/X11/fontpath.d/xorg-x11-fonts-Type1
/etc/X11/fontpath.d/xorg-x11-fonts-misc:unscaled:pri= 10
/etc/X11/fontpath.d/liberation-fonts
/etc/X11/fontpath.d/ default -ghostscript
由于文件过多,此处只复制了部分


   -size:根据文件大小查找

    -size[+|-]#,#的常用单位为k,M,G,表示为一个取值空间内的值,

    查找/etc/目录下大于1M且类型为普通文件的所有文件

1
2
3
4
[root@localhost tmp]# find /etc/ -size +1M -type f
/etc/selinux/targeted/modules/active/policy.kern
/etc/selinux/targeted/policy/policy. 24
/etc/gconf/gconf.xml.defaults/%gconf-tree.xml

    也可以时间戳查找:

    find命令支持的时间戳有天和分钟

      以天为单位(time):

         -atime[+|-]:访问时间

         -ctime:改变时间

         -mtime:修改时间

      以分钟为单位(min):

         -amin:

         -mmin:

         -cmin:

    查找/tmp下访问时间在5天以前的文件

1
2
3
4
[root@localhost tmp]# find /tmp/ -atime + 5
/tmp/ks-script-rq0L47.log
/tmp/ks-script-rq0L47
/tmp/yum.log

  根据权限查找:

     -perm[+|-]MODE

      MODE:精确匹配

      +MODE:任何一类用户的任何一位权限匹配即可,常用于查找某类用户的某特定权限是否存在

      -MODE:每类用户的指定权限都要检查且必须都匹配才可以

     查找/etc/init.d目录下,所有用户都有执行权限其其他用户有写权限的文件

1
[root@localhost tmp]# find /etc/init.d/ -perm - 113

3)、处理动作:

  -print:默认选项,可以省略。表示打印在标准输出上

  -ls:以长格式显示查找到的各位文件的信息

  -exec COMMAND {} \;:对查找到的文件执行指定的命令

  -ok COMMAND {} \;:在交互的模式下对查找到的文件执行指定的命令

  查找/tmp下访问时间在5天以前的文件并把这些文件删除

1
[root@localhost tmp]# find /tmp/ -atime + 5  -exec rm -rf {} \;

  也可以通过管道的机制用给下一个命令执行

  find |xargs COMMAND

 上一题还可以写成这样

1
[root@localhost ~]# find /tmp/ -atime + 5  | xargs rm -rf

 由于本人水平有限,请大家多多批评指正,谢谢



本文转自wangfeng7399 51CTO博客,原文链接:http://blog.51cto.com/wangfeng7399/1363535,如需转载请自行联系原作者

相关文章
|
存储 JavaScript 测试技术
redux 为什么要把 reducer 设计成纯函数
Redux 中的 Reducer 被设计为纯函数,以确保其可预测性和可测试性。纯函数仅依赖输入参数,无副作用,便于调试和维护,支持数据流的清晰追踪,利于状态管理。
Socket的错误码和描述(中英文翻译)
Socket的错误码和描述(中英文翻译) //下面是Socket Error的错误码和描述: Socket error 0 - Directly send error  Socket error 10004 - Interrupted function  //call 操作被终止  ...
2353 0
|
2天前
|
云安全 安全 网络安全
|
2天前
|
JavaScript 安全 前端开发
Nodejs Brotli decoder 代码执行漏洞 (CVE-2026-111497)10629
Node.js发布安全更新修复Brotli解码器高危RCE漏洞(CVE-2026-111497),建议受影响版本用户立即升级。
1684 1
|
8天前
|
人工智能 API 开发工具
DeepSeek Harness 神插件:白嫖 13 家大厂模型
`dsh-our-free-model` 是 DeepSeek Harness 神级插件:零配置、零API Key、零账号,聚合13家大厂免费模型(含DeepSeek V4.1 Flash、Kimi K3等),支持本地网关、用量看板与自动降级,真正实现“白嫖即用”。
1422 31
|
2天前
|
安全 应用服务中间件 Go
PHP2Shell 漏洞拆解:WordPress 与 nginx 为何中招
PHP2Shell 双 RCE 已遭在野利用:WordPress、Drupal 全在射程内,nginx 其实另有洞。拆成因与修复顺序
PHP2Shell 漏洞拆解:WordPress 与 nginx 为何中招
|
13天前
|
存储 人工智能 安全
千问办公官网入口网页版登录:qwenwork.cn 注册送2000积分、登录送100积分
阿里云千问办公(QwenWork)是AI智能工作平台,支持一句话生成PPT、表格、网页、视频及数据分析。个人免费版送2000积分+每日登录赠100分,含1GB存储、5个发布页;企业版198元/席/月起。阿里千问办公QwenWork官网:https://t.aliyun.com/U/0VCTGt 阿里AI工作平台,一句话完成数据分析、PPT 生成、视频剪辑、网页搭建等复杂任务
|
10天前
|
安全 Linux 芯片
【万字长文】Ollama下载、安装、配置、使用保姆级教程(2026最新图解)
Ollama 是一款免费开源的本地大模型运行工具,支持 DeepSeek、Qwen 等主流模型,一条命令即可下载运行。2026 最新版 v0.35.1 官方安装包(1.47GB)已提供国内直连下载,纯本地、离线可用、无广告、无隐私泄露风险。
935 2
|
8天前
|
人工智能 开发者
Qoder CN 大使计划正式开启|无限创造,等你一起
全年免费积分、优先内测、活动支持与更多共创机会,邀请用 Qoder 把想法变成现实的你。
642 6

热门文章

最新文章