Chinaunix首页 | 论坛 | 博客
  • 博客访问: 96940
  • 博文数量: 16
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 200
  • 用 户 组: 普通用户
  • 注册时间: 2014-06-18 23:43
文章分类

全部博文(16)

分类: LINUX

2014-06-20 22:17:19

在应用中利用find命令时,目录下面有多个子目录,要求只查找当前目录下的文件,不查找子目录下的相关文件。经过man和网上资料的查找,现做总结,以备后续查找。

-maxdepth 1  表示最大目录层数,为1则表示在当前目录下查找
find  .  -maxdepth 1  -name  *.conf    #####表示只在当前目录下(不包含当前目录下的 子目录)查找以.conf  为后缀的所有文件

-prune   加上 -type  d  就是把当前目录下的所有类型为目录的文件全部排除掉
 find . ! -name "." -type d -prune -o -name '*.tar'      ####在当前目录下查找以.tar为后缀的所有文件

以上命令本人均测试都成功,不存在任何问题。需要注意的是都要进入要查找的目录中,然后对其进行查找

 使用  -prune 时还需注意后面要加 -o 然后加查找条件,要查找的文件名还必须用单引号括起来('*.tar'),不然执行find命令会报错如下错误
find: paths must precede expression: yanf.tar
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]  
阅读(11390) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~