linux下find不查找子目录或只查找到指定深度的子目录

linux下find不查找子目录或只查找到指定深度的子目录

时间:2013-08-30 01:08:58      作者:beebol      标签: find      分类: Linux基础 Shell

今天需要删除一些不需要的文件,个人习惯是先找出来,然后再进行删除,防止勿删除。所以用到了find命令,但是如何才能只找出当前目录的文件,不到子目录里找呢?默认是查找当前目录及当前所有子目录的。

实现方法是一个参数搞定:-maxdepth

我是man找了好一会儿,才找到,之前是知道有这么个功能,但就不记得怎么写了。

$find ./  -name \"tlbb*.tgz\"  -type f -maxdepth 1 find: warning: you have specified the -maxdepth option after a non-option argument -name, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it).  Please specify options before other arguments. ./a.tgz ./b.tgz

命令下面多了好多不需要信息,显示不影响正常查找,如果想去掉,只要把参数顺序调整一下就可以了。 $find ./ -maxdepth 1 -name \"tlbb*.tgz\"  -type f ./a.tgz ./b.tgz

“男人”一把的时候,解释一下其它的比较常用的参数:

-name   filename             #查找名为filename的文件 -perm                        #按执行权限来查找 -user    username             #按文件属主来查找 -group groupname            #按组来查找 -mtime   -n +n                #按文件更改时间来查找文件,-n指n天以内,+n指n天以前 -atime    -n +n               #按文件访问时间来查GIN: 0px">

-ctime    -n +n              #按文件创建时间来查找文件,-n指n天以内,+n指n天以前

-nogroup                     #查无有效属组的文件,即文件的属组在/etc/groups中不存在 -nouser                     #查无有效属主的文件,即文件的属主在/etc/passwd中不存 -newer   f1 !f2              找文件,-n指n天以内,+n指n天以前 -ctime    -n +n               #按文件创建时间来查找文件,-n指n天以内,+n指n天以前 -nogroup                     #查无有效属组的文件,即文件的属组在/etc/groups中不存在 -nouser                      #查无有效属主的文件,即文件的属主在/etc/passwd中不存 -newer   f1 !f2               #查更改时间比f1新但比f2旧的文件 -type    b/d/c/p/l/f         #查是块设备、目录、字符设备、管道、符号链接、普通文件 -size      n[c]               #查长度为n块[或n字节]的文件 -depth                       #使查找在进入子目录前先行查找完本目录 -fstype                     #查更改时间比f1新但比f2旧的文件 -type    b/d/c/p/l/f         #查是块设备、目录、字符设备、管道、符号链接、普通文件 -size      n[c]               #查长度为n块[或n字节]的文件 -depth                       #使查找在进入子目录前先行查找完本目录 -fstype                      #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到 -mount                       #查文件时不跨越文件系统mount点 -follow                      #如果遇到符号链接文件,就跟踪链接所指的文件 -cpio                %;      #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到 -mount                       #查文件时不跨越文件系统mount点 -follow                      #如果遇到符号链接文件,就跟踪链接所指的文件 -cpio                        #对匹配的文件使用cpio命令,将他们备份到磁带设备中-prune                       #忽略某个目录 -prune                       #忽略某个目录
-mindepth levels     #这个与maxdepth相反,从levels级子目录开始查找所有子目录
如:find ./ -mindepth 2 -name "*.sh"  -type f    查找当里的子目录所有以.sh结尾的文件,不包括当前目录。

 

时间:2013-08-30 01:08:58      作者:beebol      标签: find      分类: Linux基础 Shell
  • 分享到:
  • 微博
  • QQ空间
  • 腾讯微博
  • 微信

Copyright © 2015 Gitblog | Proudly powered by Gitblog.