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天以前