Fu
Simple is Beautiful!

linux command之find

find 命令在目录结构中递归搜索文件,并执行指定的操作,提供了相当多的查找条件,功能很强大。

Tests

name

利用模式匹配文件名:

find . -name "*.log"
find . -name "[A-Z]*"
find . -name "[a-z]?[4-9].log"

path

利用模式匹配路径名

find . -path ".src/*/misc

regex

同 path,只是匹配时用正则表达式

type

按照文件类型查找:

find /etc -type d
find /etc -type f

perm

按照文件权限查找

find . -perm 755          # 权限为 755
find . -perm g=w          # 权限为 020
find . -perm -220       # 权限至少为 220
find . -perm -g+w,u+w   # 同上
find . -perm /220       # 用户或组其中有一个有写权限
find . -perm /u=w,g=w   # 同上

user/nouser

按照用户查找

find . -user root
find . -user 1000
find /home -nouser  # 用户已经被删除的文件

group/nogroup

按照用户组查找,同 user/nouser

atime/amin/anewer

按照 last accessed time 查找

其中:

find . -atime -2  # 两日以内
find . -atime +2  # 两日以前
find . -anewer /path/to/file   # last accessed time 比制定文件新

ctime/cmin/cnewer

按照 file's status last changed time 查找

同 atime/amin/anewer

mtime/mmin/newer

按照 file's data last modified time 查找

同 atime/amin/anewer

size

按照文件大小查找

单位:

find . -size 100c     # 文件大小恰好为 100 bytes
find . -size -100c    # 文件大小小于 100 bytes
find . -size +100c    # 文件大小大于 100 bytes

fstype

按照文件系统类型查找

find . -fstype nfs

Operators

linux31CLI17
2014-04-09 16:05:12