zoukankan      html  css  js  c++  java
  • 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 ~]# 

    转自kika

  • 相关阅读:
    从汇编看c++对静态成员的存取
    从汇编看c++内联函数评估求值
    从汇编看c++初始化列表初始化成员变量
    53. sql2005“备份集中的数据库备份与现有的xx数据库不同”解决方法
    52. 查看linux系统是32位还是64位
    51. linux卸载jdk
    50. linux下查看tomcat日志
    49. jdk-6u45-linux-i586.bin安装步骤
    48. Linux 删除文件夹命令
    47. linux下给已经存在的用户设置用户组
  • 原文地址:https://www.cnblogs.com/linuxandy/p/10838040.html
Copyright © 2011-2022 走看看