find


find 命令用于在文件系统中搜索文件和目录,并对找到的项目执行操作。通过文件名查找文件的所在位置,文件名查找支持模糊匹配。

grep 是在文件中找字符串,find 是在目录下找文件或者其他内容。

基本语法

find [OPTION] [path ...] [expression]

示例

find ./* -name "*.v"

命令的执行结果示例如下:
在这里插入图片描述

该命令用于搜索当前目录下以 v 为后缀的所有文件,它会自动对子目录进行检索,最终输出目标文件的相对路径。

选项

这里的选项可以分为两部分,一个是查找文件的选项,另一个是找到文件之后,对其进行某种操作的选项。

筛选选项:

options Usage
-name pattern 根据文件名进行查找,pattern 中支持通配符 * 和 ?。
-iname pattern 根据文件名进行查找,忽略大小写
-type type 根据文件类型进行查找,f表示文件,d 表示目录,l 表示链接
-size n/+n/-n 根据文件大小进行查找,+n 表示文件大于某个值,比如 10M,-n 表示文件小于某个值,n则是等于
-depth 先搜索子目录,再搜索当前目录
-maxdepth 搜索的最大深度
-perm 根据全选搜索文件,例如 -perm 755

操作选项(放在命令的最后面):

options Usage
-delete 找到文件后,将其删除
-exec coomand {} \; 对找到的文件执行命令
-ok coomand {} \; 对找到的文件执行命令,并在执行前提示用户确认

示例:

查找 /home 目录下所有大于 10M 的文件:

find /home -size +10M

查找当前目录下所有以 .txt 结尾的文件,并把它们复制到 /backup 目录:

find . -name "*.txt" -exec cp {} /backup \;

查找当前目录下所有以 .log 结尾的文件,并提示用户是否删除它们:

find . -name "*.log" -ok rm {} \;

上一篇:JAVA就业笔记6——第二阶段(3)


下一篇:如何用3个月零基础入门网络安全?_网络安全零基础怎么学习