find

#1.创建文件
touch /etc/sysconfig/network-scripts/{ifcfg-eth1,IFCFG-ETH1}

#2.查找/etc目录下包含ifcfg-eth0名称的文件
[root@xuliangwei ~]# find /etc -name “ifcfg-eth1”

#3.-i 忽略大小写
[root@xuliangwei ~]# find /etc -iname “ifcfg-eth1”

#查找/etc目录下包含ifcfg-eth名称所有文件
[root@xuliangwei ~]# find /etc/ -name “ifcfg-eth*”
[root@xuliangwei ~]# find /etc -iname “ifcfg-eth*”
——————————————————————————

2.find大小查找
#1.查找大于5M的文件()
[root@xuliangwei ~]# find /etc -size +5M

#2.查找等于5M的文件
[root@xuliangwei ~]# find /etc -size 5M

#3.查找小于5M的文件
[root@xuliangwei ~]# find /etc -size -5M

——————————————————————————

3.find类型查找

[root@oldboy ~]# find /etc -type f -name "ifcfg-"
查找/etc目录下类型是文件的,并且名称 大概是 ifcfg-

[root@oldboy ~]# find /sbin/ -type l -name “xx” -size +10k
查找/sbin/目录下,类型是软链接的,并且名称是xx的,并且大小大于10k


f 文件

[root@xuliangwei ~]# find /dev -type f

d 目录

[root@xuliangwei ~]# find /dev -type d

l 链接

[root@xuliangwei ~]# find /dev -type l

b 块设备

[root@xuliangwei ~]# find /dev -type b

c 字符设备

[root@xuliangwei ~]# find /dev -type c

s 套接字

[root@xuliangwei ~]# find /dev -type s


4.find时间查找
#1.创建测试文件(后期shell会讲)
[root@xuliangwei ~]# for i in {01…10};do date -s 202002KaTeX parse error: Expected 'EOF', got '&' at position 3: i &̲& touch file-i;done

#2.查找7天以前的文件(不会打印当天的文件)=====( 保留了最近7天的数据)
[root@xuliangwei ~]# find ./ -iname “file-*” -mtime +7

#3.查找最近7天的文件,不建议使用(会打印当天的文件)
[root@xuliangwei ~]# find ./ -iname “file-*” -mtime -7

#4.查找第7天文件(不会打印当天的文件)
[root@xuliangwei ~]# find ./ -iname “file-*” -mtime 7

#5.本地文件保留最近7天的备份文件, 备份服务器保留3个月的备份文件(实际使用方案)
find /backup/ -iname “.bak" -mtime +7 -delete
find /backup/ -iname "
.bak” -mtime +90 -delete

——————————————————————————

5.find用户查找

#查找属主是jack
[root@xuliangwei ~]# find /home -user jack
#查找属组是admin
[root@xuliangwei ~]# find /home -group admin
#查找属主是jack, 属组是admin
[root@xuliangwei ~]# find /home -user jack -group admin
#查找属主是jack, 并且属组是admin
[root@xuliangwei ~]# find /home -user jack -a -group admin
#查找属主是jack, 或者属组是admin
[root@xuliangwei ~]# find /home -user jack -o -group admin
#查找没有属主
[root@xuliangwei ~]# find /home -nouser
#查找没有属组
[root@xuliangwei ~]# find /home -nogroup
#查找没有属主或属组
[root@xuliangwei ~]# find /home -nouser -o -nogroup

————————————————————————————

1.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

————————————

3.记得文件的内容是什么,但是不清楚文件名称是什么,也不知道路径在哪,怎么办?

find 查找文件  通过 grep 筛选查找出来的文件内容


find /etc  -type f  |  xargs grep "oldxu" --color=auto

查找/etc目录下,所有类型是文件的,然后将查找到的结果作为grep筛选条件的参数

————————————————
4.find逻辑运算符

符号 作用
-a 与 and
-o 或 or
! 非 -not

#1.查找当前目录下,属主不是root的所有文件
[root@xuliangwei ~]# find . -not -user root
[root@xuliangwei ~]# find . ! -user root

#2.查找当前目录下,属主属于oldxu,并且大小大于1k的文件
[root@oldboy ~]# find /etc -type f -user oldxu -size +1k
[root@oldboy ~]# find /etc -type f -user oldxu -a -size +1k
[root@oldboy ~]# find /etc -type f -user oldxu -and -size +1k

#3.查找当前目录下的属主为root或者以xml结尾的普通文件
[root@oldboy ~]# find . -type f ( -user root -o -name “*.xml” ) -ls
————————————————

在这里插入图片描述


模拟验证结果:
exec
[root@oldboy ~]# touch file-{1…50000}
[root@oldboy ~]# time find ./ -type f -name “file-*” -exec rm -f {} ;
real 0m53.149s
user 0m14.100s
sys 0m34.368s

xargs

[root@oldboy ~]# touch file-{1…50000}
[root@oldboy ~]# time find ./ -type f -name “file-*” |xargs rm -f
real 0m1.583s
user 0m0.174s
sys 0m1.225s
————————————————————

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值