find查找
格式 :find 路径 要求(路径是要在那个地方查找)
1#名称查找 条件为:-name"名称*”
2#忽略大小写查找 条件为 : -iname“名称*”
3#大小查找 条件为: -size +5M(+5M就是大于5M,-就是小于,就是等于)
4#类型查找 条件为: -type f(f是文件,l是软连接,d是目录,b是块设备,c是字符设备,s是套字节)
5#时间查找 条件为: -mtime +7(+7是查找7天以前的,-7是查找最近7天的,7是查找第7天的)
6#用户查找 条件为: -选项 用户名称
选项:属主 user
属组 group
没有属主 nouser
find查找后的动作命令示例
#1.使用-print打印查找到的文件
[root@xuliangwei ~]# find /etc -name "ifcfg*"
[root@xuliangwei ~]# find /etc -name "ifcfg*" -print
#2.使用-ls打印查找到的文件,以长格式显示
[root@xuliangwei ~]# find /etc -name "ifcfg*" -ls
#3.使用-delete删除文件,但仅能删除空目录
[root@xuliangwei ~]# find /etc -name "ifcfg*" -delete
#4.使用-ok实现文件拷贝,但会提示是否拷贝
[root@xuliangwei ~]# find /etc -name "ifcfg*" -ok cp -v {} /tmp \;
#5.使用-exec实现文件拷贝和文件删除。
[root@xuliangwei ~]# find /etc -name "ifcfg*" -exec cp -v {} /tmp \;
[root@xuliangwei ~]# find /etc -name "ifcfg*" -exec rm -f {} \;
exec 一个一个的删除
rm -f ifcfg-eth0
rm -f ifcfg-eth1
rm -f ifcfg-eth2
xargs 一次干掉
rm -f ifcfg-eth0 ifcfg-eth1 ifcfg-eth2
记得文件的内容是什么,但是不清楚文件名称是什么,也不知道路径在哪,怎么办?
find 查找文件 通过 grep 筛选查找出来的文件内容
find /etc -type f | xargs grep "oldxu" --color=auto
查找/etc目录下,所有类型是文件的,然后将查找到的结果作为grep筛选条件的参数
find逻辑运算符
符号 作用
-a 与 and
-o 或 or
! 非 -not