linux命令之find

find 查找命令

命令格式
find [查找目录] [查找规则] [查找完后的操作]

find  
       -name             ##文件名查找
       -maxdepth         ##查找深度距离当前目录最多x深度的文件
       -mindepth         ##查找深度距离当前目录最少x深度的文件   
       -user             ##根据文件所有者查找
       -group            ##根据文件所有组查找
       -a                ##与条件
       -o                ##或条件
       -not              ##非条件
       -size 10k | -10k |+10k    ##根据文件大小查找,查找大小为10K|10k内|大于10K的文件
       -type                     ##查找文件类型
       -ctime 10 | -10 | +10     ##10天这个时间点修改过的文件|十天内|十天前
       -cmin  10 | -10 | +10     ##10分钟这个时间点修改过的文件|十分内|十分前
       -perm  444        ##根据权限查找,查找文件权限为444的
       -perm  +444       ##文件ugo位满足一个权限为4的文件即可
       -perm  -444       ##文件ugo位三个的权限包含444
       -exec  command    ##查找完成之后的操作

根据文件所属用户和所属组来查找文件

linux命令之find_第1张图片

-a、-o,-not(与、或、非)查找

linux命令之find_第2张图片

根据文件的时间戳信息查找文件

linux命令之find_第3张图片

根据文件类型查找文件

linux命令之find_第4张图片

根据文件大小查找文件

dd if=/dev/zero of=/mnt/file*  bs=10240  conut=1

linux命令之find_第5张图片

根据深度查找文件

linux命令之find_第6张图片

注意:查找最深层为2且名为xx的文件也包括第一层名为xx的文件,要限定只有某一层的文件,则要限定最深层和最浅均为那层

根据权限来查找文件

linux命令之find_第7张图片

注意:+xxx权限,是最少包含xxx权限

-777 9个条件,满权限
-004 other位可读一个条件
-644 u有rw,go位有r
444 三个都是r
/444或+444 ##ugo满足r一个条件即可
/777 只要有权限就行

查找完成之后的操作

-exec command {} \; 其中,”{}”就代表查找之后返回的文件

find /mnt -perm -004 -exec chmod o-r {} \;    ##将o位可读的文件把r权限去掉

 find / -group mail -exec cp -rp  {} /mnt \;      ##将所有组为mail的复制到/mnt中(p带权限复制)

linux命令之find_第8张图片

linux命令之find_第9张图片

linux命令之find_第10张图片

你可能感兴趣的:(Liunx学习)