一 语法
find [搜索范围] [搜索条件]
搜索文件
注意:
1、避免大范围搜索,会非常耗费系统资源。
2、find是在系统当中搜索符号条件的文件名。如果匹配,使用通配符匹配,通配符匹配是完全匹配。
二 Linux中的通配符
* 匹配任意内容
? 匹配任意一个字符
[] 匹配任意一个中括号的字符
三 举例
1、不区分大小写
find /root -iname install.log
2、按照所有者搜索
find /root -user root
3、查找没有所有者的文件(垃圾文件,/sys或/proc中的文件,外来文件如U盘)
find /root -nouser
4、根据事件查找文件
find /var/log -mtime +10
-10 10天内修改文件
10 10天当天修改的文件
+10 10天前修改的文件
atime 文件访问时间
ctime 改变文件属性
mtime 修改文件内容
5、按照大小搜索
find . -size 25k
查找文件大小是25KB的文件
-25k 小于25KB的文件
25k 等于25KB的文件
+25k 大于25KB的文件
6、根据i节点查找
find . -inum 26743
7、比较复杂的查找
四 实战
[[email protected] ~]# find ChangeLog-2.6.0ChangeLog-2.6.0[[email protected] ~]# find -name "Cha*"./ChangeLog-2.6.0[[email protected] test]# lsabc abcdef abc.soft[[email protected] test]# find -name "abc[d-f]"[[email protected] test]# find -name "abc[d-f]*"./abcdef[[email protected] test]# find -user root../abc./abc.soft./abcdef[[email protected] test]# find -nouser[[email protected] test]# find -mtime -10../abc./abc.soft./abcdef[[email protected] test]# find .-size -25k../abc./abc.soft./abcdef[[email protected] test]# find .-size +1k[[email protected] test]# find .-size -1M./abc./abcdef./1k[[email protected] test]# find .-size -1mfind: invalid -size type `m'[[email protected] test]# find . -size -1Kfind: invalid -size type `K'[[email protected] test]# ls -i67170464 1k 67170460 abc 67170463 abcdef 67170462 abc.soft[[email protected] test]#[[email protected] test]#[[email protected] test]#[[email protected] test]# find . -inum 67170463./abcdef[[email protected] test]# find /etc -size +20k -a -size -50k/etc/selinux/targeted/modules/active/modules/apache.pp/etc/selinux/targeted/modules/active/modules/init.pp/etc/selinux/targeted/modules/active/modules/staff.pp/etc/selinux/targeted/modules/active/modules/sysadm.pp/etc/selinux/targeted/modules/active/modules/unprivuser.pp/etc/selinux/targeted/modules/active/modules/virt.pp/etc/selinux/targeted/modules/active/modules/xguest.pp/etc/selinux/targeted/modules/active/modules/xserver.pp/etc/sysconfig/network-scripts/network-functions-ipv6/etc/dnsmasq.conf/etc/brltty/fr-abrege.ctb/etc/brltty/de-kurzschrift.ctb/etc/brltty/en-nabcc.ttb/etc/brltty/en-us-g2.ctb/etc/brltty.conf/etc/postfix/access/etc/postfix/header_checks/etc/postfix/main.cf[[email protected] test]# find /etc -size +20k -a -size -50k -exec ls -lh {} \;-rw-r--r--. 1 root root 25K Nov 21 2015 /etc/selinux/targeted/modules/active/modules/apache.pp-rw-r--r--. 1 root root 29K Nov 21 2015 /etc/selinux/targeted/modules/active/modules/init.pp-rw-r--r--. 1 root root 34K Nov 21 2015 /etc/selinux/targeted/modules/active/modules/staff.pp-rw-r--r--. 1 root root 45K Nov 21 2015 /etc/selinux/targeted/modules/active/modules/sysadm.pp-rw-r--r--. 1 root root 29K Nov 21 2015 /etc/selinux/targeted/modules/active/modules/unprivuser.pp-rw-r--r--. 1 root root 27K Nov 21 2015 /etc/selinux/targeted/modules/active/modules/virt.pp-rw-r--r--. 1 root root 21K Nov 21 2015 /etc/selinux/targeted/modules/active/modules/xguest.pp-rw-r--r--. 1 root root 29K Nov 21 2015 /etc/selinux/targeted/modules/active/modules/xserver.pp-rw-r--r--. 1 root root 26K Sep 16 2015 /etc/sysconfig/network-scripts/network-functions-ipv6-rw-r--r--. 1 root root 25K Aug 6 2015 /etc/dnsmasq.conf-rw-r--r--. 1 root root 49K Mar 6 2015 /etc/brltty/fr-abrege.ctb-rw-r--r--. 1 root root 37K Mar 6 2015 /etc/brltty/de-kurzschrift.ctb-rw-r--r--. 1 root root 21K Mar 6 2015 /etc/brltty/en-nabcc.ttb-rw-r--r--. 1 root root 39K Mar 6 2015 /etc/brltty/en-us-g2.ctb-rw-r--r--. 1 root root 22K Mar 6 2015 /etc/brltty.conf-rw-r--r--. 1 root root 21K Jun 10 2014 /etc/postfix/access-rw-r--r--. 1 root root 22K Jun 10 2014 /etc/postfix/header_checks-rw-r--r--. 1 root root 27K Jun 10 2014 /etc/postfix/main.cf[[email protected] test]# find abcabc[[email protected] test]# find abc -exec rm -rf {} \;[[email protected] test]# find abcfind: ?.bc?. No such file or directory