Linux文件查找命令find用法整理(locate/find)

Linux文件查找查找主要包括:locate和find

1、locate

用法简单,根据数据库查找,非实时,用法:

locate FILENAME

手动更新数据库(时间可能较长)

updatedb

2、find

实时,精确,功能强大,用法:

find  路径  查找标准  查找后动作

(1)路径:. 或者 ./ 均表示当前目录

(2)查找标准:

-name ‘FILENAME‘    文件名精确匹配(支持通配符* ? [])
-iname ‘FILENAME‘   文件名模糊匹配(不分大小写)
-regex PATTERN      正则匹配
-user USERNAME    根据属主查找
-group GROUP      根据属组查找
-uid UID
-gid GID
-nouser           无属主文件
-type    根据文件类型查找
-type f  文件
-type d  目录
-type c  字符设备
-type b  块设备
-type l  链接
-type p  管道
-type s  套接字
-size         根据文件大小查找
-size 10k
-size 25M
-size 3G
-size +10k    大于10k的文件
-size -5M     小于5M的文件
组合选项:
-a     AND
-o     OR
-not   NOT
根据时间查找
-mtime    modified time(默认单位:天)
-ctime    change time
-atime    access time

-ctime +5     改变时间5天以上
-access -3    访问时间3天以内

-mmin    (默认单位:分钟)
-cmin
-amin
根据权限查找
-perm 755    精确权限
-perm /644    三位中有一位匹配到即可
-perm -700    向下包含(包含600/500/.../000)

例1:查找/tmp目录下无属主的普通文件

find /tmp -nouser -a -type d

例2:查找/etc下,既不是普通文件也不是目录的其他文件

find /etc -not \( -type d -o -type f \)

(3)查找后动作

-print    默认动作
-ls       列表
-ok COMMAND \;    需确认执行COMMAND
-exec COMMAND \;  无需确认执行COMMAND

例3:查找当前目录下权限为600的所有文件,并查看其大小({}表示查找到的文件,\;表示结束符)

find . -perm 600 -exec du {} \;

例4:查找当前目录下权限是400的文件,并将其后缀名加上.new

find ./ -perm 400 -exec mv {} {}.new \;
时间: 2024-10-25 04:39:25

Linux文件查找命令find用法整理(locate/find)的相关文章

Linux文件查找命令find,xargs详述

转自:http://www.linuxsir.org/main/node/137本文进行了整理修订 Linux文件查找命令find,xargs详述 摘要: 本文是find 命令的详细说明,可贵的是针对参数举了很多的实例,大量的例证,让初学者更为容易理解:本文是zhyfly兄贴在论坛中:我对本文进行了再次整理,为方便大家阅读: 目录 版权声明 前言:关于find命令 一.find 命令格式 1.find命令的一般形式为: 2.find命令的参数: 3.find命令选项: 4.使用exec或ok来执

Linux文件查找命令find,xargs详述【转】

转自:http://blog.csdn.net/cxylaf/article/details/4069595 转自http://www.linuxsir.org/main/?q=node/137 Linux文件查找命令find,xargs详述 总结:zhy2111314来自:LinuxSir.Org整理:北南南北摘要: 本文是find 命令的详细说明,可贵的是针对参数举了很多的实例,大量的例证,让初学者更为容易理解:本文是zhyfly兄贴在论坛中:我对本文进行了再次整理,为方便大家阅读: 目录

Linux 文件查找命令find,xargs详述

Linux文件查找命令find,xargs详述     <exec 后期讲解> 关于find命令 由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下.即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限. 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统). 一.find 命令格式 1.find命令的一般形式为:

Linux文件查找命令

1. find find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件. find的使用格式如下: $ find <指定目录> <指定条件> <指定动作> - <指定目录>: 所要搜索的目录及其所有子目录.默认为当前目录. - <指定条件>: 所要搜索的文件的特征. - <指定动作>: 对搜索结果进行特定的处理. 如果什么参数也不加,find默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显

linux文件查找命令之 find用法

linux文件系统文件查找命令:locate,find locate特性: 非实时查找:根据索引查找( 查找速度快,非精准查找,模糊查找) find特性: 实时查找:遍历所有文件进行条件匹配(精准查找,速度慢) find是生产环境常用命令 用法:  find [选项 ] [查找路径] [查找条件] [处理动作] 查找条件: 根据文件名查找: 支持使用通配字符 如: *,?,[],[^]等 -name"文件名称": -iname"文件名称":查找时忽略字符大小写 -u

Linux文件查找命令详解-which whereis find locate

原创BLog,转载请注明出处 http://blog.csdn.net/hello_hwc?viewmode=contents which命令 首先查看man which的说明 which - shows the full path of (shell) commands. 在$PATH目录下查找命令的绝对路径,PATH配置不同,查找的结果也不同 查看系统的PATH [[email protected] testForCsdn]# echo $PATH /usr/kerberos/sbin:/u

linux文件查找命令find的应用

在linux中,常见的用于文件查找的命令有locate和find locate的工作原理:全局查找,根据系统文件数据库查找,这个数据库在同运行一段时间会自动生成,前提是安装了mlocate软件包. mlocate软件包安装生成locate命令和updatedb命令,而后者就是用于手动生成locate查找文件时使用的数据库的命令,这个数据库默认就是/var/lib/mlocate/mlocate.db,同时mlocate软件包生成的一个重要文件就是/etc/cron.daily/mlocate.c

Linux文件查找命令find(转)

Linux find命令用来在指定目录下查找文件.任何位于参数之前的字符串都将被视为欲查找的目录名.如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件.并且将查找到的子目录和文件全部进行显示. 语法 findpath -option [-print] [-exec -ok command] {} ; 参数说明: find 根据下列规则判断path和expression,在命令列上第一个-(),!之前的部份为path,之后的是expression.如果path是空字串则

Linux文件查找命令find和xargs详解

PS:find是个很强大的命令,能够匹配正则,查找对应权限,能够帮你精确的定位你的系统中的任何地方任何目录下的文件.下面这篇是关于find命令用法最详细的一篇了,记录下.还有要注意的:本文的分号:其实都是带转义字符的\:,可能是本博的模板问题,后台显示但前台没显示出来.对于不同的系统,直接使用分号可能会有不同的意义,使用转义符\在分号前明确说明. 目录 版权声明 前言:关于find命令 一.find 命令格式1.find命令的一般形式为:2.find命令的参数:3.find命令选项:4.使用ex