欢迎光临散文网 会员登陆 & 注册

TLCL学习笔记|第十八章|查找文件

2022-04-19 23:51 作者:LogByMax  | 我要投稿

(认知有限,如有不妥,还请告知,欢迎讨论)


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


TLCL学习笔记|第十八章|查找文件的评论 (共 条)

分享到微博请遵守国家法律