Linux学习--文件搜索命令

一、文件搜索命令  find

  语法:find [搜索范围] [匹配条件]  {find [搜索范围] [搜索模式] [搜索条件]}

  1.以文件名来查找  -name(区分大小写)-iname (不区分大小写)

  find /etc -name inid

  或者 find /etc/ -iname init

  需要注意的是,以上命令只能进行精准搜索,即文件名全匹配,对于文件名中包含以上字母的文件时搜索不到的,这存在一定的局限性,要想进行模糊匹配搜索可以使用一些通配符,如:“*” 可以代表任意的字符,“?” 代表一个字符;案例如下:

  查找以init开头的文件

·  查找以init结尾的文件

  查找文件名中包含init的文件

  查找以init开头,后面有三个字符的文件

  2.以文件大小搜索  -size

  以文件大小搜索,需要注意的是其大小的单位为数据块,一个数据块是512字节即512B等于0.5K,如果要索大于100M的文件,其大小可以表示为100*1024*2=204800。在命令中用+代表大于,用-代表小-于,不使用代表等于,如下实例:在根目录下查找大于100M的文件

3.以文件所有者或者所属组搜索  -user -group

  如:查找所属组为hefei,或者所有者为an的文件

 4.根据时间属性来查找

  语法:-amin  访问时间  access  查找某个时间范围被访问过的文件

     -cmin  文件属性  change  查找某个时间范围被修改过文件属性的文件

     -mmin  文件内容  modify  查找某个时间范围被修改过文件内容的文件

  如:find /etc -mmin -600  查找600分钟以内被修改过的文件或目录

5.根据文件类型来查找 -type

  语法:f  指定文件类型

     d  指定目录类型

     l  指定软连接类型

  如:find /tmp -type d  查找/tmp目录下的目录

6.根据i节点来查找 -inum

  

7.查找命令的条件连接符

  语法:-a  左右两个条件同时满足 and

     -o  两个条件满足任意一个都行

  如:find /etc -name init* -a -type f   查找/etc 目录下以名称以init开头的文件

  find /etc -name init* -o -name a*  查找/etc 目录下以名称以init开头或者以a开头的文件或目录

8.对查找的内容信息结合其他命令执行进一步操作

  语法:find查找命令后跟 -exec/-ok 执行命令 {} \;

  如:find /etc -name init* -exec ls -l {} \;  以长格式的形式显示查找内容的信息

  以上命令使用-ok 也行,只是使用-ok的时候回多一个确认的环节,比如,当要删除一些文件的时候:

猜你喜欢

转载自www.cnblogs.com/anchun7080/p/10029729.html