find

来源:互联网 发布:阿里云控制台中文乱码 编辑:程序博客网 时间:2024/05/29 17:24

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

示例:

将目前目录及其子目录下所有延伸档名是 c 的档案列出来。
# find . -name "*.c"
将目前目录其其下子目录中所有一般档案列出
# find . -ftype f
将目前目录及其子目录下所有最近 20 天内更新过的档案列出
# find . -ctime -20
查当前目录下的所有普通文件
#find . -type f -exec ls -l {} \;

参数说明:

-perm                        #按执行权限来查找
-user    username             #按文件属主来查找
-group groupname            #按组来查找
-mtime   -n +n                #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime    -n +n               #按文件访问时间来查GIN: 0px">

-amin -/+n : -n在最近的 n 分钟内被读取过,+n在 n 分钟之前被读取过
-anewer file : 比档案 file 更晚被读取过的档案

-ctime    -n +n              #按文件创建时间来查找文件,-n指n天以内,+n指n天以前

-cmin -n : 在最近的 n 分钟内被修改过
-cmin +n : 在 n 分钟前被修改过

-cnewer file :比档案 file 更新的档案

-newer   f1 !f2               #查更改时间比f1新但比f2旧的文件

-nogroup                     #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser                     #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-depth                       #使查找在进入子目录前先行查找完本目录
-fstype                      #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到
-follow                      #如果遇到符号链接文件,就跟踪链接所指的文件
-cpio                        #对匹配的文件使用cpio命令,将他们备份到磁带设备中
-prune                       #忽略某个目录

-exec:对搜索的结果执行指定的shell命令。注意格式要正确:"-exec 命令 {} \;"。注意“{}” 与\;之间有空格。

-mount,-xdev : 只检查和指定目录在同一个档案系统下的档案,避免列出其它档案系统中的档案

-empty : 空的档案-gid n or -group name : gid 是 n 或是 group 名称是 name
-ipath p,-path p : 路径名称符合 p 的档案,ipath 会忽略大小写
-name name,-iname name : 档案名称符合 name 的档案。iname 会忽略大小写
-size n[cwbkMG] : 档案大小 为 n 个由后缀决定的数据块。其中后缀含义为:
b: 代表 512 位元组的区块(如果用户没有指定后缀,则默认为 b)
c: 表示字节数
k: 表示 kilo bytes (1024字节)
w: 字 (2字节)
M:兆字节(1048576字节)
G: 千兆字节 (1073741824字节)
-type c : 档案类型是 c 的档案。
d: 目录
c: 字型装置档案
b: 区块装置档案
p: 具名贮列
f: 一般档案
l: 符号连结
s: socket
-pid n : process id 是 n 的档案

你可以使用 () 将运算式分隔,并使用下列运算。

exp1 -and exp2
! expr
-not expr
exp1 -or exp2
exp1,exp2

0 0