find命令的-prune参数的使用

本文通过具体实例详细介绍了如何使用find命令在Linux系统中精确查找文件,包括在特定目录及其子目录下搜索指定后缀的文件,排除某些目录进行搜索等高级用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

直接看例子:
假如在当前目录下查找文件,且当前目录下有很多文件及目录(多层目录),包括dir0、dir1和dir2 …等目录及dir00、dir01…dir10、dir11…等子目录。

  1. 在当前目录下查找所有txt后缀文件

    find ./ -name *.txt

2.在当前目录下的dir0目录及子目录下查找txt后缀文件

find ./ -path './dir0*' -name *.txt

3.在当前目录下的dir0目录下的子目录dir00及其子目录下查找txt后缀文件

find ./ -path '*dir00*' -name *.txt

4.在除dir0及子目录以外的目录下查找txt后缀文件

find ./ -path './dir0*' -a -prune -o -name *.txt -print

-a表示And操作,-o表示-Or操作,-not表示取反操作

5.在除dir0、dir1及子目录以外的目录下查找txt后缀文件

find ./ \( -path './dir0*' -o -path './dir1*' \) -a -prune -o -name *.txt -print

圆括号()表示此处是一个复合表达式,它告诉 shell 不对圆括号里面的字符作特殊解释,而留给 find 命令去解释其意义。由于命令行不能直接使用圆括号,所以需要用反斜杠’\’进行转意。一定要注意’(‘,’)’左右两边都需空格。

6.在dir0、dir1及子目录下查找txt后缀文件

find ./ \( -path './dir0*' -o -path './dir1*' \) -a -name *.txt -print
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值