查找命令find
find命令是一个功能非常强大的搜索命令,能按照文件的名字,所属组,用户,大小和权限等来查找,但是速度并不如locate的快。
使用方法:
find [路径] <参数> <值>
find 查找位置 参数条件值 -exec动作 {} \;
-name ##按文件名字查找
-group ##组名或组id
-user ##用户名或用户id
-size ##文件大小
+100k ##查找文件大于100k
-100c ##查找文件小于100字节
[=]100M ##查找文件等于100M
-type 文件类型
f ##普通文件
d ##目录
c ##字符设备
s ##套接字
p ##管道
b ##快设备
l ##连接
-a ##逻辑与,使两个查找条件相与
-o ##逻辑或,使两个查找条件相或
-not ##逻辑非,查找不满足条件的文件
-perm 权限 ##按文件的权限查找
644 ##查找文件权限为644的文件
/644 ##查找文件中只要满足(u有r,u有w,g有r,o有r)条件中一个的文件
-644 ##查找文件中至少满足满足(u有r,u有w,g有r,o有r)条件的文件
-maxdepth <x> ##查找目录层次最大为x的文件(目录层次值是相对于查找目录的)
-mindepth <x> ##查找目录层次最小为x的文件
eg:find /mnt/ -user student -o -group root ##查找用户为student
find /mnt/ -not -group student ##查找不是用户student的文件
find /etc/ -maxdepth 1 -mindepth 1 -name *.conf ##查找目录层次为1(仅在/etc下的文件)的文件名字以*.conf的文件a
find / -group mail -exec cp -rp {} /mnt/backup/ \; ##找到属于mil组的文件并复制到/mnt/backup/目录下(不改变权限)