Centos之文件搜索命令find
find [搜索范围] [搜索条件]
#搜索文件
find / -name install.log
#避免大范围搜索,会非常耗费系统资源
#find是在系统当中搜索符合条件的文件名。如果需要匹配,
使用通配符匹配,通配符是完全匹配。
[root@localhost ~]# ls
222 anaconda-ks.cfg 牛逼 牛牛
[root@localhost ~]# find / -name 牛牛
/root/牛牛
/tmp/牛牛
[root@localhost ~]# find / -name 牛
[root@localhost ~]#
我们发现 搜索牛牛 能搜索到结果,但是搜索牛,么有结果,
所以说 find搜索 是完全匹配搜索;
如果我们需要进行模糊查询,我们要使用通配符;
* 匹配任意内容
?匹配任意一个字符
[]匹配任意一个中括号的字符
我们创建一些文件来测试
[root@localhost ~]# ls
222 anaconda-ks.cfg 牛逼 牛逼2 牛牛 牛牛2
[root@localhost ~]#
[root@localhost ~]# find / -name "牛*"
/root/牛逼
/root/牛牛
/root/牛逼2
/root/牛牛2
/tmp/牛牛
查找开头是 “牛”的所有文件
[root@localhost ~]# find /root -name "牛?"
/root/牛逼
/root/牛牛
查找root目录下,所以“牛”开头然后后面接一位字符的文件
[root@localhost ~]# find /root -name "牛[牛逼]2"
/root/牛逼2
/root/牛牛2
[root@localhost ~]#
查找首尾分别是“牛”“2”,中间字符串是“牛逼”当中的任一字符的文件
find /root -iname anaconda-ks.cfg
不区分大小写
find /root -user root
根据所有者搜索
find /root -nouser
查找没有所有者的文件
[root@localhost ~]# find /root -iname Anaconda-ks.cfg
/root/anaconda-ks.cfg
[root@localhost ~]# find /root -name Anaconda-ks.cfg
[root@localhost ~]#
linux是严格区分大小写的,假如用iname 查询时不区分大小写;
[root@localhost ~]# find /root -user root
/root
/root/.bash_logout
/root/.bash_profile
/root/.bashrc
/root/.cshrc
/root/.tcshrc
/root/anaconda-ks.cfg
/root/.bash_history
/root/牛逼
/root/牛逼/java.pdf
/root/222
/root/牛牛
/root/牛逼2
/root/牛牛2
root用户的所有文件
find /var/log/ -mtime +10
查找10天前修改的文件
-10 10天内修改的文件
10 10天当前修改的文件
+10 10天前修改的文件
atime 文件访问时间
ctime 改变文件属性
mtime 修改文件内容
[root@localhost ~]# find /var/log -mtime +10
/var/log/ppp
查找10天前的日志
find /root -size 2k
查找文件大小是1到2KB的文件(进一法)
-2k 小于2KB的文件
2k 等于2KB的文件
+2k 大于2KB的文件
find /root -inum 262422
查找i节点是262422的文件
[root@localhost ~]# find /root -size 2k
/root/anaconda-ks.cfg
/root/.bash_history
[root@localhost ~]# find /root -size -2k
/root
/root/.bash_logout
/root/.bash_profile
/root/.bashrc
/root/.cshrc
/root/.tcshrc
/root/牛逼
/root/牛逼/java.pdf
/root/222
/root/牛牛
/root/牛逼2
/root/牛牛2
[root@localhost ~]# find /root -size +2k
[root@localhost ~]#
[root@localhost ~]# ls -i
33575031 222 801541 牛逼 33575023 牛牛
33574979 anaconda-ks.cfg 33605192 牛逼2 33605193 牛牛2
[root@localhost ~]# find /root -inum 33575023
/root/牛牛
[root@localhost ~]#
根据i节点来搜索
find /etc -size +20k -a -size -50k
查找/etc/目录下,大于20KB并且小于50KB的文件
-a and 逻辑与 ,两个条件都满足
-o or 逻辑或,两个条件满足一个即可
find /etc -size +20k -a -size -50k -exec ls -lh{} \ ;
查找/etc/目录下,大于20KB并且小于50KB的文件,并显示详细信息;
-exec/-ok 命令{} \; 对搜索结果执行操作;
[root@localhost ~]# find /etc -size +20k -a -size -50k
/etc/selinux/targeted/active/modules/100/apache/hll
/etc/selinux/targeted/active/modules/100/init/hll
/etc/selinux/targeted/active/modules/100/staff/cil
/etc/selinux/targeted/active/modules/100/staff/hll
/etc/selinux/targeted/active/modules/100/sysadm/cil
/etc/selinux/targeted/active/modules/100/sysadm/hll
/etc/selinux/targeted/active/modules/100/unprivuser/hll
/etc/selinux/targeted/active/modules/100/virt/hll
/etc/selinux/targeted/active/modules/100/xguest/hll
/etc/selinux/targeted/active/modules/100/xserver/hll
/etc/selinux/targeted/contexts/files/file_contexts.homedirs.bin
/etc/sysconfig/network-scripts/network-functions-ipv6
/etc/ld.so.cache
/etc/dnsmasq.conf
/etc/postfix/access
/etc/postfix/header_checks
/etc/postfix/main.cf
[root@localhost ~]# find /etc -size +20k -a -size -50k -exec ls -lh {}\;
find: 遗漏“-exec”的参数
[root@localhost ~]# find /etc -size +20k -a -size -50k -exec ls -lh {} \;
-rw-r--r--. 1 root root 25K 11月 12 2016 /etc/selinux/targeted/active/modules/100/apache/hll
-rw-r--r--. 1 root root 31K 11月 12 2016 /etc/selinux/targeted/active/modules/100/init/hll
-rw-r--r--. 1 root root 21K 11月 12 2016 /etc/selinux/targeted/active/modules/100/staff/cil
-rw-r--r--. 1 root root 36K 11月 12 2016 /etc/selinux/targeted/active/modules/100/staff/hll
-rw-r--r--. 1 root root 30K 11月 12 2016 /etc/selinux/targeted/active/modules/100/sysadm/cil
-rw-r--r--. 1 root root 46K 11月 12 2016 /etc/selinux/targeted/active/modules/100/sysadm/hll
-rw-r--r--. 1 root root 31K 11月 12 2016 /etc/selinux/targeted/active/modules/100/unprivuser/hll
-rw-r--r--. 1 root root 29K 11月 12 2016 /etc/selinux/targeted/active/modules/100/virt/hll
-rw-r--r--. 1 root root 21K 11月 12 2016 /etc/selinux/targeted/active/modules/100/xguest/hll
-rw-r--r--. 1 root root 30K 11月 12 2016 /etc/selinux/targeted/active/modules/100/xserver/hll
-rw-r--r--. 1 root root 44K 11月 12 2016 /etc/selinux/targeted/contexts/files/file_contexts.homedirs.bin
-rw-r--r--. 1 root root 27K 9月 12 2016 /etc/sysconfig/network-scripts/network-functions-ipv6
-rw-r--r--. 1 root root 27K 6月 10 05:21 /etc/ld.so.cache
-rw-r--r--. 1 root root 25K 11月 12 2016 /etc/dnsmasq.conf
-rw-r--r--. 1 root root 21K 6月 10 2014 /etc/postfix/access
-rw-r--r--. 1 root root 22K 6月 10 2014 /etc/postfix/header_checks
-rw-r--r--. 1 root root 27K 6月 10 2014 /etc/postfix/main.cf
[root@localhost ~]#