美文网首页
find [options] path... [expressi

find [options] path... [expressi

作者: Wavky | 来源:发表于2016-11-30 17:14 被阅读0次

在指定目录中,遍历搜索符合 expression 限定条件的文件、目录

options

-P 不解析符号链接(默认选项,-H/-L/-P 三选一)
-H 仅解析命令中指定名字的符号链接(-H/-L/-P 三选一)
-L 解析所有符号链接,follow link(-H/-L/-P 三选一)
-E 使用扩展正则表达式进行解析

-d 深度优先后序遍历输出,默认为深度优先(目录优先)前序遍历输出
-f path 明确指定一个目标目录结构(也可以直接在后面的 path 中给出)
-s 按字典顺序遍历文件目录

expression

用于指定搜索目标文件需要匹配的具体条件,拥有可变数字参数 n 的限定属性,可在数字前追加前缀 + 表示 >n ,- 表示 <n

指定文件时间

-atime n 寻找最近n天内访问过的文件,可指定 s/m/h/d/w 作为单位,分别表示 秒、分、时、日、周,如 -atime -1h30m
-mtime n 寻找最近n天内更新过文件数据的文件、目录,可指定 s/m/h/d/w 单位
-ctime n 寻找最近n天内修改过节点元数据的文件、目录,可指定 s/m/h/d/w 单位
-Btime n 寻找文件inode节点在最近n天内创建的文件、目录
-amin/-mmin/-cmin/Bmin n 寻找n分钟内访问、修改过、创建inode的文件、目录,不可指定单位
-newerXY file 寻找时间戳比 file 更新的文件、目录,X 指定时间戳类型,可用 a/c/m/B 分别表示 atime/ctime/mtime 和 inode节点创建时间,Y 指定 file 文件中用于对比的时间戳类型,可选,默认为 m。默认 -newer = -newermm
-anewer/-mnewer/-cnewer/-Bnewer file 寻找访问、修改、节点创建时间比 file 的 mtime(数据修改时间)更新的文件、目录,可等价与对应的-newerXY file

其他属性

-name pattern 指定文件名(可包含父目录),可使用通配符[ ] * ?,及转义符\
-lname pattern 搜索其内容匹配指定文件名的符号链接
-iname/-ilname pattern 不区分大小写的文件名搜索
-path/-ipath/-iwholename pattern 指定目标匹配目录名,可使用通配符[ ] * ?,及转义符\
-regex/-iregex pattern 按正则表达式(忽略大小写)搜索
-prune -o 排除掉前面-name/-path等指定的路径名,不进入该目录扫描
-depth n 精确的遍历深度过滤器,仅列出该深度层次的搜索结果文件、目录
-maxdepth n 最大搜索深度,n=0时仅搜索命令指定的精确目录
-mindepth n 最小搜索深度,直接忽略掉该深度以下的文件、路径搜索过程,n=1时搜索命令指定的目录中的所有子目录,但不搜索该目录本身的文件
-empty 搜索空文件、目录
-size n 搜索指定大小的文件,未指定单位时为512字节块个数,可指定 k/M/G/T/P 作为单位后缀
-type t 搜索指定类型的文件,类型可指定为 b 块文件 c 字符文件 d 目录 f 常规文件 l 符号链接 p FIFO文件 s socket文件
-perm mode 搜索指定权限的文件、目录,mode 可使用字母代号或数字组表示,前置减号-表示目标文件必须完全满足指定的最低权限,前置加号+表示目标文件任一权限位满足给定最低权限即符合匹配,不具备前置符表示精确匹配,目标文件必须拥有与给定权限完全相同的权限模式。
-links n 搜索拥有n个链接的文件、目录
-samefile name 搜索指定文件名的硬链接
-group gname/-gid id 搜索指定组名或GID的文件、目录
-user uname/-uid id 搜索指定用户名或UID的文件、目录
-nouser/-nogroup 搜索没有拥有者、群组的文件、目录
-fstype type 搜索指定的文件系统
-inum n 搜索inode节点编号为n的文件
-print/-print0 每个结果输出后追加/不追加换行符

后续操作

-delete 搜索并删除,此选项无法跟踪符号链接
-ls 输出目标文件的inode编号、占用空间、权限、拥有者、链接数、修改时间等信息,使用ls -dgils输出样式
-exec command [argument...] ; 执行指定命令操作,可在命令名或参数中使用通配符{}表示当前遍历到的文件路径,默认 command 优先执行当前目录下的同名可执行工具
-execdir command [argument...] ;-exec 相同,但 command 优先执行遍历到的目录下的同名可执行工具
-ok/-okdir command [argument...] ; 等同于-exec/-execdir,但每次执行前需要请求确认

operator

可用于修饰限定 expression 的特殊操作符

! expression / -not expression 反向匹配
expression1 -and expression2 / expression1 expression2 ... 并列同时匹配
expression1 -or expression2 任意匹配其中一个

相关文章

网友评论

      本文标题:find [options] path... [expressi

      本文链接:https://www.haomeiwen.com/subject/bbytmttx.html