解析find用法

本文涉及的产品
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
简介:

一,在linux上有两个比较常用的搜索工具

1,locate :模糊查找,速度快,依赖自身的的数据库,非实时查找,比较少用。

2,find:精确,实时查找,速度稍微慢点。

二,find语法 find [-H] [-L] [-P] [path...] [expression]

其中,'-H' '-L' '-P'三个选项主要是用来处理符号连接,'-H'表示只跟随命令行中指定的符号连接,'-L'表示跟随所有的符号连接,'-P'是默认的选项,表示不跟随符号连接。这三个选项很少用,因此find  的语法简化成   find   路径   表达式,  表达式由查找条件和处理动作组成。默认路径是当前所在的目录

1, 查找条件:

(1)-name filename(可以使用通配符*,使用通配符时用双引号引起来)

查找当前系统上passwd的文件名

find / -name passwd

(2)-iname 忽视查找文件名的大小写

查找当前系统上PASSWD和passwd的文件

find / -iname passwd

(3)-regex "patern" 使用基本正则表达式  给出的正则表达式必须要匹配完整的文件路径

find / -regex "find" 找不到/usr/bin/find

正确用法find / -regex ".*find"或者更精确一点find / -regex ".*/find"

(4)-iregex 忽然大小写

(5)-user username

查找文件的属主是user1的

find / -user user1

(6)-group groupname

查找当前系统属组是nobody的文件

find / -group nobody

(7)-uid  usernum

查找文件的属主uid为 500

find / -uid 500

(8)-gid  group

(9)-nouser

查找当前系统没有属主的文件

find / -nouser  

(10)-nogroup

2,多条件查找,条件间逻辑关系:

(1)-a(与)  同时满足两个条件

查找/etc文件名为passwd且属主为root

find /etc/ -name "passwd" -user root(默认是 -a 可以省略)

(2)-o(或)

查找/etc文件名为passwd或属主为user

find /etc/ -name "passwd"  -o -user root(-o不能省略)

(3)! (非)或-not

查找 /etc文件名包含passwd 或者 属主不是root的文件

find /etc/ -name "passwd*"  -o  -not -user root

三,-type 根据文件类型

(1)f 正规文件

查找当前系统文件名passwd且是普通文件

find / -name passwd -a -type f

(2)d 目录

(3)l 链接文件

(4)b 块设备

(5)c 字符设备

(6)p 数据传送文件

(7)s socket设备

4, -size (k|M|G)默认单位是字节

(1)+4M(大于4M)

查找文件大小为大于4M

find /boot  -size +4M

(2)-4M(小于4M但是3M--4M不在这个范围)

(3)4M(查找3M--4M)

5,day(单位为天)

(1)-atime [+/-] (访问时间)

查找第3天被访问过的文件

find / -atime 3

查找最近3天访问过的文件

find / -atime -3

查找3天之前被访问的文件

find / -atime +3

(2)-mtime(修改时间)

(3)-ctime(改变时间)

6, minute(单位分钟)

(1)-amin

(2)-mmin

(3)-cmin

7,权限-perm

(1)mode  查找档案权限刚好等于mode

查找 档案权限为222

find / -perm 222

(2)/mode  模糊匹配(只要满足其中一个就会匹配到)

查找user权限为7或group权限为7或others权限为7的

find / -perm  /777

(3)-mode  必须要全部包括mode权限(比mode大的也会被匹配到)

查找档案权限大于777

find / -perm -777

8,  处理动作:默认是 -print把结果打印到屏幕上

-exec  command {} \;(将前面查找的结果输入给command命令,{}表示占位符)

查找当前没有属主和属组的文件,将它们属主,组改成root

find / -nouser -a -nogroup -exec chown root:root {} \;

9,find与xargs将find查找到的结果用管道输入给xarg

find |xargs command

查找一个文件为PASSWD的文件并删除

find / -name PASSWD |xargs rm -f

在/tmp下找到文件名是core的文件,自动切换到新行,并且删除。

find  /tmp -name core  -type f -print  |xargs /bin/rm -f

在/tmp下找到文件名是core的文件,不自动切换到新行,并且删除。

find /tmp -name core -type f -print0 | xargs -0 /bin/rm -f

读取/etc/passwd里的用户并用echo显示

cut -d: -f1 </etc/passwd |sort |xargs echo

exec 后面跟可执行文件,如果在脚本里写exec /sbin/halt 表示会在当前shell执行,不会在当前shell的子shell中执行。

10,查看文件没有属主,属组 find / -nouser -nogroup (-a可以省略)

11,查找没有属主或属组的 find / -nouser -o nogruop

12, ind ./ -type f -name '*.php'  可遍历目录
13, find ./ -maxdepth 1 -name '*.php' 不遍历,只寻找一级目录

14,查看db_summba_site开头的文件

find /cloud/databackup/databasebakup/   -mtime +30 -a -name  'db_summba_site*'  |xargs ls










本文转自 deng304749970 51CTO博客,原文链接:http://blog.51cto.com/damondeng/903149,如需转载请自行联系原作者
目录
相关文章
|
5月前
|
前端开发 JavaScript 安全
javascript:void(0);用法及常见问题解析
【6月更文挑战第3天】JavaScript 中的 `javascript:void(0)` 用于创建空操作或防止页面跳转。它常见于事件处理程序和超链接的 `href` 属性。然而,现代 web 开发推荐使用 `event.preventDefault()` 替代。使用 `javascript:void(0)` 可能涉及语法错误、微小的性能影响和XSS风险。考虑使用更安全的替代方案,如返回 false 或箭头函数。最佳实践是保持代码清晰、安全和高性能。
292 0
|
3月前
|
关系型数据库 TensorFlow 算法框架/工具
Docker技术概论(4):Docker CLI 基本用法解析
Docker技术概论(4):Docker CLI 基本用法解析
230 1
|
20天前
|
Dart 安全 编译器
Flutter结合鸿蒙next 中数据类型转换的高级用法:dynamic 类型与其他类型的转换解析
在 Flutter 开发中,`dynamic` 类型提供了灵活性,但也带来了类型安全性问题。本文深入探讨 `dynamic` 类型及其与其他类型的转换,介绍如何使用 `as` 关键字、`is` 操作符和 `whereType&lt;T&gt;()` 方法进行类型转换,并提供最佳实践,包括避免过度使用 `dynamic`、使用 Null Safety 和异常处理,帮助开发者提高代码的可读性和可维护性。
69 1
|
5月前
|
Java 开发者 Spring
深入解析这两种扩展机制的工作原理和用法
深入解析这两种扩展机制的工作原理和用法
|
2月前
|
安全 网络安全 开发工具
深入探索Git:全面解析Git的用法与最佳实践
深入探索Git:全面解析Git的用法与最佳实践
57 2
|
1月前
|
前端开发 JavaScript UED
axios取消请求CancelToken的原理解析及用法示例
axios取消请求CancelToken的原理解析及用法示例
91 0
|
1月前
|
JSON API 开发者
深入解析Python网络编程与Web开发:urllib、requests和http模块的功能、用法及在构建现代网络应用中的关键作用
深入解析Python网络编程与Web开发:urllib、requests和http模块的功能、用法及在构建现代网络应用中的关键作用
16 0
|
6月前
|
算法 编译器 开发者
CMake参数解析cmake_parse_arguments 的参数用法
CMake参数解析cmake_parse_arguments 的参数用法
164 2
|
3月前
|
数据采集 运维 监控
运维笔记:流编辑器sed命令用法解析
运维笔记:流编辑器sed命令用法解析
57 5
|
3月前
|
Java Spring
🔥JSF 与 Spring 强强联手:打造高效、灵活的 Web 应用新标杆!💪 你还不知道吗?
【8月更文挑战第31天】JavaServer Faces(JSF)与 Spring 框架是常用的 Java Web 技术。本文介绍如何整合两者,发挥各自优势,构建高效灵活的 Web 应用。首先通过 `web.xml` 和 `ContextLoaderListener` 配置 Spring 上下文,在 `applicationContext.xml` 定义 Bean。接着使用 `@Autowired` 将 Spring 管理的 Bean 注入到 JSF 管理的 Bean 中。
66 0

推荐镜像

更多