Linux下find命令详解

来源:互联网 发布:软件评测师是什么 编辑:程序博客网 时间:2024/06/10 01:13

功能

文件查找


命令原型

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


参数介绍
pathname:   find命令所查找的目录路径。
-print:            find命令将匹配的文件输出到标准输出;
-exec:            find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\之间的空格;
-ok:                以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行;


常用的选项
-name filename           #查找名为filename的文件
-perm                             #按执行权限来查找
-user username           #按文件属主来查找
-group groupname      #按组来查找
-mtime -n +n                 #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime -n +n                   #按文件访问时间来查找文件,-n指n天以内,+n指n天以前
-ctime -n +n                   #按文件状态改变时间来查找文件,-n指n天以内,+n指n天以前
-nogroup                        #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser                          #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-newer filename           #查更改时间比filename新的文件
-type b/d/c/p/l/f               #查是块设备、目录、字符设备、管道、符号链接、普通文件
-size n[bkMG]                #查长度为n[bkMG]字节的文件
-depth                             #使查找在进入子目录前先行查找完本目录
-fstype                            #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到
-mount                           #查文件时不跨越文件系统mount点
-follow                            #如果遇到符号链接文件,就跟踪链接所指的文件
-cpio                                #对匹配的文件使用cpio命令,将他们备份到磁带设备中
-prune                             #忽略某个目录

举例
(1)-name
find . -name 'xlian*'
搜索当前目录(含子目录,以下同)中,文件名以xlian开头的文件。

(2)-perm
find . -perm 755
搜索当前目录(含子目录,以下同)中,权限为755的文件。

(3)-user
find . -user xlian008
搜索当前目录(含子目录,以下同)中,属于xlian008的文件。

(4)-group
find . -group xlian008
搜索当前目录(含子目录,以下同)中,属于组xlian008的文件。

(5)-mtime
find . -mtime -1
搜索当前目录(含子目录,以下同)中,最近一天之内改动过的文件。

find . -mtime +1
搜索当前目录(含子目录,以下同)中,一天之前改动过的文件。

(6)-atime
find . -atime -1
搜索当前目录(含子目录,以下同)中,最近一天之内读写过的文件。

find . -atime +1
搜索当前目录(含子目录,以下同)中,一天之前读写过的文件。

(7)-ctime
find . -ctime -1
搜索当前目录(含子目录,以下同)中,状态改变在最近一天之内的文件。

find . -ctime +1
搜索当前目录(含子目录,以下同)中,状态改变在最近一天之前的文件。

(8)-nogroup
find . -nogroup
搜索当前目录(含子目录,以下同)中,不属于本地组的文件或者目录。

(9)-nouser
find . -nouser
搜索当前目录(含子目录,以下同)中,不属于本地用户的文件或者目录。

(10)-newer
find . -newer t
搜索当前目录(含子目录,以下同)中,更改时间比文件t新的文件。

(11)-type
find . -type l
搜索当前目录(含子目录,以下同)中,所有的符号链接文件(软连接)。

(12)-size
find -size -256k
搜索当前目录(含子目录,以下同)中,小于256k的文件。

find -size +256k
搜索当前目录(含子目录,以下同)中,大于256k的文件。

(13)-depth
find . -depth t
搜索当前目录(含子目录,以下同)中,查询文件t,并且先查本目录,再查子目录。