Linux下文件搜索、处理实例心得


一、locate:     locate [选项] 关键词     在文件数据库中查询匹配搜索条件的文件。 选项: -i:搜索时是否区分大小写,默认区分;加上这个选项就不区分大小写; -n X:只显示前X个匹配项目;   备注: *文件数据库是有管理员使用updatedb来生成或者更新的,否则新建立的文件会查不到;一般情况下数据库在后台自动建立更新。 *搜索的是全路径,不单单是文件名。   二、find: find [目录……] [条件……]     比locate命令慢,但更加准确; *如果没有指定目录,则在当前目录查询; *如果没有指定条件则匹配所有条件; 可以在找到的文件上执行命令:使用选项-ok或者-exec 1、基本条件: 1)-name 文件名:查找匹配文件名;

 2)-user 用户名:根据用户名查找;        -uid 用户ID:根据UID查找;    3)-group 组名:根据组名查找; 2、条件逻辑运算: 搜索条件默认使用AND迅速连接符; find / -name ook -user RedHat 就是满足文件名为ook,并且属于redhat这个用户的文件 1)-o来进行OR或运算;    2)-not:逻辑非运算:

 3、权限相关搜索-perm   [+/-]数字权限 1)+ 数字权限:表示至少符合了一位;    2)- 数字权限:表示所有位数都符合:    4、按照文件大小来搜索:-size [+/-] 文件大小 find –size 1024K   文件大小正好1M find –size +1024K 文件大小大于1M find –size -1024K   文件大小小于1M 5、按照存取时间搜索: -atime 最后一次被读取的时间; -mtime文件数据上一次被修改的时间; -ctime文件状态变化时间; -atime –mtime –ctime 单位是,如果需要按分钟来可以写成-amin –mmin –cmin find –mmin -10 搜索文件修改日期少于10天的; 6、find后的文件处理: 1-ok:执行命令时进行确认; 2)-exec :直接执行命令无需确认; 备注: {}表示找到的文件名;空格和\;表示终止。  
当然,find命令使用组合很多很多,希望通过这个文章能让大家对find使用更加熟悉、掌握更多的组合。 

相关内容

    暂无相关文章