
公众号:uncle39py
2022/06/06阅读:17主题:默认主题
Linux find
一. 文件查找命令:find
1.按文件名查找,例子:
find /etc -name "ifcfg-ens"
明确匹配,按名字查找文件
find /etc -iname "ifcfg-ens"
-i 表示查找时忽略大小写
find /etc -iname "ifcfg-ens*"
* 为通配符,表示以ifcfg-ens开头的文件都查找出来
2.按文件大小查找:
find /etc/ -size +3M
查找大于3M的文件,-3M则表示查找小于3兆的文件,单位有M/k/G等(man find,然后输入/-size来查)
find /etc/ -size +3M -ls
查找出来后按ls方式显示
3.指定查找的目录深度
find / -maxdepth 5 -name "ifcfg*"
往下找5层 find / -name "ifcfg*" -o -size +3M
-o表示或者(or); 不写-o则默认是-a,表示与(and)
4.按照时间找
find /etc -mtime +3
修改时间超过3天
5.按照文件属主属组找
find /home -user egg -group egg
find /home -nouser
查找没有用户的文件,此文件是由于删除了/etc/passwd
里面的对应用户导致的
find /home -nogroup
查找没有属组的文件,此文件是由于删除了/etc/group
里面的对应属组导致的
6.按照文件类型找
find /dev -type f
7.按照文件权限查找
find . -perm 644 -ls
permission
二.文件查找出来后的统一操作
find /home -nouser -nogroup | rm -rf
这条命令是错误的,rm命令不支持管道.
要想让不支持管道的命令能从管道里面取参数出来执行,需要用到xargs:find /home -nouser -nogroup | xargs rm -rf
find /etc/ -name "ifcfg*" | xargs -I{} cp -rv {} /opt
其中-I{} 表示将管道里面的内容全部放到{}里面,以后用{}来代表管道里面的内容;这条命令就可以拆解出来cp -rv 管道里面的内容 /opt
作者介绍
