Linux中的find大法

72 篇文章 0 订阅
61 篇文章 0 订阅

在.nx(MAC OS和各种linux)系统中,find方法可谓是广泛中运用,好的find方法规则匹配算法又是高效执行的关键。现在我把find方法常用的搜索方法做下总结:
1 搜索当前文件夹及其子目录中的所有文件

$ find . 或者find . -print
2 搜索指定文件夹及其子目录中的所有文件,以test文件夹为例:

$ find ./test
如果按文件名查找app.js,可以使用-name参数

$ find ./test -name ‘app.js’
3 不区分大小写查找 ‘app.js’,参数-iname,

$ find ./test -iname ‘aPP.Js’
可以匹配到

./test/subdir/app.js
./test/app.js
4 反向匹配,例如,匹配扩展名不为’*.php’的文件

$ find ./test -not -name ‘*.php’
匹配的结果应该是这样的

./test
./test/app.js
./test/subdir
./test/subdir/package.json
5 匹配多个规则,匹配’*.js’和’package.json’

$find ./test -name ‘*.js’ ! -name ‘package.json’
这样就可以匹配到

./test/src/jasmine/functionlist.js
./
也可以另一个参数-o达到同样的效果

$find ./test -name ‘*.js’ -o -name ‘package.json’
6 匹配文件或者目录
只匹配文件

$find ./test -type f -name ‘package*’
只匹配目录

$find ./test -type f -name ‘node_modules’
7 从多个目录查找

$find ./test ./test2 -type f -name ‘package*’
8 查找隐藏文件

$find ~ -type d -name ‘name*’
9 可以感觉具体的权限/用户/用户组/大小查找,参数-perm , -user, -group,-size

10 相当于ls功能

$ find ./test -exec ls -ld {} \;
11删除匹配到的文件

$find ./test -type f -name ‘package.tmp’ -exec rm -r {} \;
暂时写到这里,有问题请留言!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值