TLCL学习笔记|第十八章|查找文件
(认知有限,如有不妥,还请告知,欢迎讨论)
locate
假设需要找到所有名字以“zip”开头并且以程序目录以bin/结尾的程序,则可执行
locate bin/zip
或结合grep和管道符“|”
locate zip | grep bin
find
例如,
执行find ~ ,打印home目录路径名列表
执行find ~ | wc -l,计算home目录路径名列表下文件的数量
执行find ~ -type f -name "*.JPG" -size +1M | wc -l,计算home目录路径名列表下文件名以.JPG结尾且文件大小大于1M的普通文件的数量
执行find ~ -type f -cnewer ls-op2.txt| wc -l 计算home目录路径名列表下 匹配内容或属性最后修改时间晚于 ls-op2.txt 的普通文件的数量
执行
find ~ \( -type f -not -perm 0600 \) -or \( -type d -not -perm 0700 \)
(圆括号对于 shell 有特殊含义,需要进行转义,来阻止 shell 解释它们。在圆括号字符 之前加上一个反斜杠字符来转义它们。)
逻辑操作符
(expr1)-operator (expr2)
在所有情况下,总会执行表达式 expr1;然而操作符将决定是否执行表达式 expr2。
find 命令允许基于搜索结果来执行操作
例如,
执行
find ~ -type f -name '*.BAK' -delete
删除扩展名为“.BAK”(这通常用来指定备份文件) 的文件,
可先用 -print 操作代替 -delete 测试一下命令,来确认搜索结果
练习

执行find playground -type f -name "file-A"|wc -l, 计算在playground目录下名为file-A的普通文件的数量

=END=
=reference=
[1]billie66.github.io/TLCL/book/chap18.html