linux(find)

按文件名查找:
find /etc -name "ifcfg-ens33"
find /etc -iname 'ifcfg-ens33'    忽略大小写
find /etc -name 'ifcfg*'    以ifcfg开头的文件
按文件大小:
find /etc -size +3M    大于3M的文件
find /etc -size 2b   b不是1byte,b是1个blocks,2b就是占据2个blocks(也就是>512且<=1024byte)
find /etc -size 3c   c是1byte
find /etc -size -3G
find /etc -size +3k -ls    将找到的文件执行-ls命令动作
指定查找深度:
find / -maxdepth 5 -a -name 'ifcfg*'    -a(and),-o(or),默认-a
按时间查找:
find /etc -mtime +3   修改时间超过3天
find /etc -atime 3   访问时间等于3天
find /etc -ctime -3   更改时间3天以内
按属主、属组查找:
find /home -user sb     属主是sb的文件
find /home -group xman   属组是sb的文件
find /home -user sb -a -group xman   -a(and)
find /home -nouser   属主已被删除的文件
find /home -nogroup   属组已被删除的文件
find /home -nouser -o -nogroup or   -o(or)
按文件类型:
find /dev -type f   l普通文件
find /dev -type d   d目录
find /dev -type l   l链接
find /dev -type b   b块设备
find /dev -type c   c字符设备
find /dev -type s   s套接字
find /dev -type p   p管道文件
按inode号查找
find / -inum 1011
按文件权限查找
find . -perm 644 -ls
find . -perm -644 -ls
find /sbin -perm -4000 -ls   包含set uid
find /sbin -perm -2000 -ls   包含set gid
find /sbin -perm -1000 -ls   包含sticky

suid:作用于命令文件。在属主的执行权限(x)位置为s(表示属主有执行权限x,并且设置了suid权限),任何用户使用此文件时都可以获得属主的权限。

                        S(表示属主没有执行权限x,仅仅配置了suid权限),任何用户(除root)都无法执行此文件。

 

 sgid:运行cat文件的用户,获得属组的权限

 

 sticky:在共享目录下创建文件后,仅允许其作者(所有者)进行删除操作。其他用户无法删除。t(表示有执行权限)T(表示没有执行权限)


执行动作命令:
-delete
-exec 非交互
-ok 交互
find /home/ -name '*.txt' -ok rm -rf {} \;   \;结束符
find /home -name 'sb.txt' -exec cp -rvf {} \;

find /home -name 'sb' -delete

配合|xargs
find /home -nouser or -nogroup |xargs rm-rf     rm命令不支持|,需要加xargs使用
find . -name 'ab*' |xargs -I{} chmod 644 {}      xargs将管道出来的数据存至{}里,以便后面的命令使用
find /home -nouser -nogroup |xargs -I{} chown root.root {}
find /root/ -name 'ppp' |xargs -I{} cp -rv {} /test

posted @ 2021-04-17 23:37  丑矬穷屌  阅读(98)  评论(0)    收藏  举报