find是linux 命令,它将档案系统内符合 expression 的档案列出来。你可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。
用法:find path -option [ -print ] [ -exec -ok command ] {} \;
使用说明:
- -exec:对搜索的结构指令指定的shell命令。注意格式要正确:”-exec 命令 {} ;“。注意“{}” 与;之间有空格。
- -mount,-xdev : 只检查和指定目录在同一个档案系统下的档案,避免列出其它档案系统中的档案
- -amin -n : 在最近的 n 分钟内被读取过
- -amin +n : 在 n 分钟之前被读取过
- -anewer file : 比档案 file 更晚被读取过的档案
- -atime -n : 在最近的 n 天内读取过的档案
- -atime +n : 在 n 天前读取过的档案
- -cmin -n : 在最近的 n 分钟内被修改过
- -cmin +n : 在 n 分钟前被修改过
- -cnewer file :比档案 file 更新的档案
- -ctime -n : 在最近的 n 天内修改过的档案
- -ctime +n : 在 n 天前修改过的档案
- -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 的档案
-depth参数
参数-depth 的意思是:在处理目录以前首先处理目录下的子内容。
也即是说在不加-depth的时候,处理顺序是首先处理目录本身,然后处理目录下的子内容。加不加-depth参数,会影响输出结构的输出顺序。
find 路径 -name 文件名 2>/dev/null
: 过滤掉没有查看权限的文件