find查找文件
访问量:3908

一、简介

在linux中,利用find命令,可以指定一些匹配条件,如按文件名、文件类型、用户甚至是时间戳等,在指定的目录下查找文件。常用格式如下:

find   path   -option   [-print ]   [ -exec -ok command ]   {} \;

命令解析:

path 代表查询的路径;

-option 代表参数;

-print find命令将匹配的文件输出到标准输出;

-exec   command   {} \; 查到的文件就执行command操作,注意{} 和 \;之间有空格

-ok   command   {} \; 查到的文件就执行command操作,注意{} 和 \;之间有空格,与-exec区别,在于执行command前,会询问用户,进行确定。

二、常用参数

参数说明
-name
限定查找文件的名称,如在soft目录下,查找.html结尾的文件,find soft -name "*html"
-perm
限定查找文件的权限,如在soft目录下,查找权限为644的文件,find soft -perm 644
-user限定查找文件的所属者
-group限定查找文件的所属组
-ctime   -n +n 限定文件的状态改变时间,-n表示在n天以内,+n表示n天以前
-mtime   -n +n 限定文件的修改时间,-n表示在n天以内,+n表示n天以前
-atime   -n +n 限定文件的访问时间,-n表示在n天以内,+n表示n天以前
-nouser查找所属者不存在的文件,即所属者在/etc/passwd中不存在
-maxdepthfind命令模式是递归查找,基于该选项可以限制查找层次 
-nogroup查找所属组不存在的文件,即所属者在/etc/group中不存在
-size
限定查找文件的大小
-type [b|d|c|p|l|f]限定查找文件的类型,其中b:块设备文件;d:目录;c:字符设备文件;p:管道文件; l:符号链接文件; f:普通文件。

三、实例

1.查找soft目录下今天访问过且以.txt结尾的文件并删除

命令如下:

find soft -type f -name "*.txt" -mtime -1 -ok rm {} \;

执行结果如下: