首页 > 技术文章 > Linux的find命令

413xiaol 2017-06-11 23:42 原文

根据文件名搜索
  find /etc -name init
  在etc中查找文件名为init的文件

  find /etc -name *init*
  在etc中查找文件名包含init的文件

  find /etc -name init???
  在etc中查找文件名以init开头且之后包含三个字符的文件

  find /etc -iname init
  在etc中查找文件名为init或INIT的文件(不区分文件名大小写)

根据文件大小搜索
  find / -size +204800
  在根目录下查找大于100M的文件

  find / -size -204800
  在根目录下查找小于100M的文件

  说明:
    1.Linux中文件是以数据库的形式存在的
    2.一个数据块为512字节,即0.5K
    3.100M=102400K=204800个数据块

根据用户查询
  find /home -user xiaol
  在根目录下查找所有者为xiaol的文件

  find /home -group xiaol
  在根目录下查找所属组为xiaol的文件

根据时间查询
  find /etc -cmin -5
  在/etc下查找5分钟内被修改过属性的文件和目录
    -amin    访问时间access
    -cmin    文件属性change
    -mmin   文件内容modify
    -n      n分钟之内
    +n     n分钟之前

根据类型查询
  find /etc -type f
  在/etc下查找所有的文件
    f  文件
    d  目录
    l  连接

连接查询
  find /etc -size +163840 -a -size -204800
  在/etc下找大于80M小于100M的文件
    -a  and
    -o  or

根据i节点查找
  find -inum 9176
  查找i节点为9176的文件

查找文件并对结果集操作
  find /etc -name init -exec ls -l {} \;
  在etc中查找文件名为init的文件并对结果执行ls -l命令

  find -inum 9716 -exec rm -rf {} \;
  查找i节点为9716的文件,并删除

推荐阅读