Linux命令之find

一、find条件查找

1.find基本用法

根据指定的条件在指定目录下搜索

−用法:find [查找范围] [查找条件]

−递归式查找,未指定范围时,默认从当前目录下查找

2.按类型查找

用法:-type 类型

−普通文件f、目录d、快捷方式l

−块设备b、字符设备c

[root@hadoop opt]# ls -lh /boot/grub/menu.lst
lrwxrwxrwx. 1 root root 11 Nov 16 19:35 /boot/grub/menu.lst -> ./grub.conf
[root@hadoop opt]# find /boot -type d    //查找目录
/boot
/boot/efi
/boot/efi/EFI
/boot/efi/EFI/redhat
/boot/grub
/boot/lost+found

3.按名称查找

用法:-name "名称"

−允许*、?、[ ] 通配符,名称以双引号括起来

组合多个条件时:-a:而且,为缺省项;-o:或者

[root@hadoop opt]# find /etc -name "resol*.conf"
/etc/resolv.conf
[root@hadoop opt]# find /dev -type c -a -name "*y[1-3]"
/dev/tty3
/dev/tty2
/dev/tty1

4.按大小查找

用法:-size [+|-]大小

+ 超过多大、-低于多大

[root@hadoop opt]# find /boot -size +10M
/boot/initramfs-2.6.32-431.el6.x86_64.img
[root@hadoop opt]# ls -lh /boot/initramfs-2.6.32-431.el6.x86_64.img 
-rw-------. 1 root root 16M Nov 16 19:35 /boot/initramfs-2.6.32-431.el6.x86_64.img

5.按修改时间查找

用法:-mtime[+|-]天数

+ n天之前、-n天之内

二、处理find找到的文档

1.find输出的局限性

输出的信息有限

−仅列出文档所在的路径及名称

−默认情况下,不会做进一步的处理操作

[root@hadoop opt]# find /boot -size +3M
/boot/initramfs-2.6.32-431.el6.x86_64.img
/boot/vmlinuz-2.6.32-431.el6.x86_64

2.常见的处理方式

 

[root@hadoop opt]# find /boot -size +3M | wc -l
2
[root@hadoop opt]# ls -lh $(find /boot -size +3M)
-rw-------. 1 root root  16M Nov 16 19:35 /boot/initramfs-2.6.32-431.el6.x86_64.img
-rwxr-xr-x. 1 root root 4.0M Nov 22  2013 /boot/vmlinuz-2.6.32-431.el6.x86_64

3.逐个处理结果文件

避免因参数太多导致异常

−用法:find .. .. -exec 处理命令{} \;

−其中{} 替代每一个查找结果,\; 表示处理操作结束

[root@hadoop opt]# find /boot -size +3M -exec ls -lh {} \;
-rw-------. 1 root root 16M Nov 16 19:35 /boot/initramfs-2.6.32-431.el6.x86_64.img
-rwxr-xr-x. 1 root root 4.0M Nov 22  2013 /boot/vmlinuz-2.6.32-431.el6.x86_64

三、根据文件属性查找

1.忽略文件名大小写

根据名称查找,忽略大小写

−-iname

[root@hadoop opt]# find /etc/ -iname "network"
/etc/sysconfig/network
/etc/rc.d/init.d/network

2.指定文档归属

根据账号名称或ID查找

−-uid、-gid、-user、-group

−-nouser、-nogroup

[root@hadoop opt]# find /dev/ -group cdrom
/dev/sg0
/dev/sr0
[root@hadoop opt]# ls -lh /dev/{sg1,sr0}
crw-rw----. 1 root disk  21, 1 Apr 20 11:50 /dev/sg1
brw-rw----. 1 root cdrom 11, 0 Apr 20 11:50 /dev/sr0

3.指定文档i节点编号

同一个文件系统内文件的i节点编号具有唯一性

−当文件名存在乱码等现象时,方便定位文档

−-inum

[root@hadoop opt]# ls -li install.log*
397986 -rw-r--r--. 1 root root 9458 Nov 16 19:35 install.log
[root@hadoop opt]# find ./ -inum 397986
./install.log

四、限制查找深度

1.最多查到第几层目录

从指定目录(第1层)查找,最多深入到第x层目录

−-maxdepthx层

[root@hadoop opt]# find /etc -maxdepth 2 -name "res*.conf"
/etc/resolv.conf
/etc/selinux/restorecond_user.conf
/etc/selinux/restorecond.conf    //第3层目录及往下子目录不会被查找

2.最少从第几层目录查找

从第x层目录开始查找,略过少于x层的目录

−-mindepthx层

[root@hadoop opt]# find /etc -mindepth 2 -name "res*.conf"
/etc/selinux/restorecond_user.conf
/etc/selinux/restorecond.conf    //第1层目录不会被查找
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lambda-小张

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值