linux中find文件搜索命令

血红的双手。 提交于 2020-02-27 17:24:48

find

解释

命令名称:find
命令所在路径:/bin/find
执行权限:所有用户
功能描述:文件搜索

语法

find [搜索范围] [匹配条件]
    匹配条件:
        -name   文件名(区分大小写)
        -iname  文件名(不区分大小写)
        -size   文件大小
            +n 大于n字节的文件
            -n 小于n字节的文件
            =n 等于n自己的文件
            1数据块(基本单位) 512B 0.5K
            100MB=102400KB=204800(数据块)
        -user   所有者
        -group  所属组查找
        -amin   访问时间access(什么时候被访问过)
        -cmin   文件属性change
        -mmin   文件内容modify
            对于amin/cmin/mmin通用
                +n 大于n分钟的
                -n n分钟以内的
        -type   根据文件类型查找
            f 文件
            d 目录
            l 软链接文件
        -inum   根据i节点查找

示例

## 查找/etc目录下名字叫init的文件和目录
find /etc -name init

# 查找/etc目录下名字中包含init的文件和目录
find /etc -name *init*

# 查找/etc目录下名字以init为开头的文件和目录
find /etc -name init*

# 查找/etc目录下名字以init为开头的文件后面还有三个字符的文件和目录
find /etc -name init???
    ? 代表一个字符
    * 代表多个字符

## 查找/etc目录下名字叫init的文件和目录(也可以查找INIT文件)不区分大小写
find /etc -iname init


## 查找/etc目录下大于100MB的文件和目录
find /etc -size +204800


## 查找eternity建立的文件和目录
find /etc -user eterntiy


## 在/etc目录下查找5分钟内被修改过属性的文件和目录
find /etc -cmin -5


## 在/etc下查找大于80MB小于100MB的文件和目录
find /etc -size +163840 -a -size 204800
    -a 两个条件同时满足(and)
    -o 两个条件满足任意一个即可
    
## 在etc下查找名字以init开头的文件(不包含目录)
find /etc -name init* -a -type f

## 在etc下查找名字以init开头的目录
find /etc -name init* -a -type d


## 在/etc下查找inittab文件并显示其详细信息
find /etc -name inittab -exec ls -l {} \;
find /etc -name inittab -ok ls -l {} \;
    -exec/-ok 执行命令
    ls -l     显示详细信息.-ok要确认执行,-exec直接执行
    {}        显示详细的文件({}里包含的就是find的结果)
    \         转义符
    ;         结束标志
    
    
## 在当前目录下查找i节点为31531的文件并删除
find . -inum 31531 -exec rm {} \;

## 怎么确认这个文件有没有硬链接
    ls -i /tmp/test.txt 先查看此文件的i节点号
    find -inum 节点号,如果有相同的,说明有硬链接
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!