内容提要
1. 熟悉 find 命令的格式
2. 掌握 find 命令中各种表达式的书写方法
3. 学会使用 find 命令查找文件
find命令的格式
find命令用于在文件系统中查找满足条件的文件。find 命令功能强大,提供了相当多的查找条件。find 命令还可以对查找到的文件做操作,如执行 Shell 命令等。
find 命令的格式是:
find [<起始目录> ...] [<选项表达式>] [<条件匹配表达式>] [<动作表达式>]
其中:
n <起始目录>:对每个指定的 <起始目录> 递归搜索目录树
n 若在整个文件系统范围内查找,则起始目录是“/”
n 若在当前目录下寻找,则起始目录是“.”,省略<起始目录>表示当前目录
n <选项表达式>:控制 find 命令的行为
n <条件匹配表达式>:根据匹配条件查找文件
n <动作表达式>:指定对查找结果的操作,默认为显示在标准输出(-print)
不带任何参数的 find 命令将在屏幕上递归显示当前目录下的文件列表。下面给出一些常用的表达式的解释。
选项表达式
表达式 |
说明 |
-follow |
如果遇到符号链接文件,就跟踪链接所指的文件 |
-regextype TYPE |
指定-regex和-iregex使用的正则表达式类型,默认为emacs,还可选择posix-awk, posix-basic, posix-egrep和posix-extended |
-depth |
查找进入子目录前先查找完当前目录的文件 |
-mount |
查找文件时不跨越文件系统 |
-xdev |
查找文件时不跨越文件系统 |
-maxdepth LEVELS |
设置最大的查找深度 |
--help |
显示 find 命令帮助信息 |
--version |
显示 find 的版本 |
条件匹配表达式
表达式 |
说明 |
-name PATTERN |
匹配文件名 |
-iname PATTERN |
匹配文件名(忽略大小写) |
-lname PATTERN |
匹配符号链接文件名 |
-ilname PATTERN |
匹配符号链接文件名(忽略大小写) |
-path PATTERN |
匹配文件的完整路径(不把 ‘/’ 和 ‘.’ 作为特殊字符) |
|
PATTERN 使用 Shell 的匹配模式,可以使用 Shell 的通配符(*、?[]),要用“”或‘’括起来 |
-regex PATTERN |
以正则表达式匹配文件名 |
-iregex PATTERN |
以正则表达式匹配文件名(忽略大小写) |
-amin N |
查找 N 分钟以前被访问过的所有文件 |
-atime N |
查找 N 天以前被访问过的所有文件 |
-cmin N |
查找 N 分钟以前文件状态被修改过的所有文件(比如权限修改) |
-ctime N |
查找 N 天以前文件状态被修改过的所有文件 (比如权限修改) |
-mmin N |
查找 N 分钟以前文件内容被修改过的所有文件 |
-mtime N |
查找 N 天以前文件内容被修改过的所有文件 |
-uid N |
查找属于 ID 号为 N 用户的所有文件 |
-gid N |
查找属于 ID 号为 N 组的所有文件 |
-inum N |
查找 i-node 是 N 的文件 |
-links N |
查找硬链接数为 N 的文件 |
-size N[bcwkMG] |
查找大小为 N 的文件,b(块)默认单位; c(字节) ; w(双字节) |
|