Centos之文件搜索命令find
时间:2019-04-22 12:10 来源:linux.it.net.cn 作者:IT
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 ~]#
(责任编辑:IT)
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 ~]# (责任编辑:IT) |