Linux运计算知识小结——find查找

本文详细介绍了Linuxfind命令的基础用法,包括常用选项如按文件名、类型、大小、所有者、属组、修改时间及权限查找,以及逻辑操作符和执行指定命令的高级功能。
摘要由CSDN通过智能技术生成

Find 基础了解

find 是用于文件系统中查找文件或目录的命令行工具

基本语法

find [目录路径] [表达式]

首先我们需要了解,find 命令要指定所查询的目录路径,之后 find 命令会根据你给出的约束条件查询出所符合的文件或目录进行标准输出。

对于 find 应用的主要了解内容便是其常用选项,以及 -exec 控制选项

常用选项

1. -name 根据文件名查找文件

find [目录] -name "文档名称"

        对于文档名称可使用通配符*进行一类文件进行查询,例如"*.txt"可查找目录下的所有以 .txt 为结尾的文件。

        当然对于一些只记得名字,而忘记文件名的大小写时,可用 -iname 进行忽略大小写的查询。

2. -type 根据文件类型查找文件

find [目录] -type 类型

        对于文件类型常用类型大致为,d目录文件、f普通文件、l快捷方式。

3. -size 根据文件大小查找文件

find [目录] -size +/-文件大小

        -size 运用 +/- 来查找大于或小于指定参数的文件。

        也可以组合两个 -size 选项,来指定特定大小范围内的文件。

find [目录] -size +文件大小 -size -文件大小

        当对文件大小并未提供单位时,find 命令会默认使用块(block)为单位,一个块为512字节。

        当只指定了文件大小,而为指定 +/- 则表示查找等于此大小的文件。

4. -user 根据文件的属主查找文件

find [目录] -user 用户名

5. -group 根据文件的属组查找文件

find [目录] -size 组名

6. -mtime 根据文件的修改时间查找文件

 

find [目录] -mtime n/-n/+n

        -mtime n : 表示查找过去n天内内容被修改过的文件,但是并不包括当天。

        -mtime -n : 表示查找过去n天之内内容被修改过的文件,但是并不包括第n天。

        -mtime +n : 表示查找n天之前内容被修改过的文件,包括第n天。

        -atime、-ctime,与 -mtime 的用法相似。

        -atime 是根据文件的访问时间进行文件查找,也就是文件最后一被读取的时间。

        -ctime 是根据文件的状态信息(权限、属组、位置等)变更时间进行文件查找,也是文件最后一次状态修改的时间,而不是文件内容。

7. -perm 根据文件权限查找文件

find [目录] -perm mode/-mode

         -perm mode : 为精准匹配模式,会查找与权限完全匹配的文件。

        -perm -mode : 为宽松匹配模式,会查找包含指定权限的文件。例如,find . -perm -007 会查找权限至少包含 007 的文件,包括权限为777、757等的文件。

        宽松匹配模式一般很少使用,因为它会匹配很多不需要的文件,但当查找对于拥有附加权限的文件时却很有效。例如查找包含SGID权限的文件,find . -perm -g=s。

8. -empty 查找空白的文件,或空白的目录

find [目录] -empty

 9. 选项的组合应用

        所有的选项都可以与其他的选项进行组合使用,从而进一步细化的查找文件。

find 高级使用

1. 逻辑操作符

        可以运用逻辑操作符(-and、-or、-not)来组合多个查找条件,来实现更加复杂的查找逻辑。

find . -type f -name "*.desktop" -or -name "*.txt"

        这个命令会实现查找当前目录及其子目录下的所有以 .desktop 或 .txt 为结尾的文件

2. 执行操作

        使用 -exec 选项可以对查找的文件执行指定的命令。

find . -type f -name "*.desktop" -or -name "*.txt" -exec echo {} > b.txt \;

        这个命令可以将查找到符合条件的文件名全部写入到当前目录的 b.txt 文件中。

        其中 -exec 表示额外的操作开始, {} 表示 find 所查找的内容,\; 表示额外的操作结束。

  • 15
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值