文件查找

文件查找

 

 

一.文件查找locatefind

1.     locate命令

非实时查找( 数据库查找)

查询系统上预建的文件索引数据库

依赖于事先构建 的索引

索引的构建是在系统较为空闲时自动进行( 周期性
任务) 管理员手动更新数据库(updatedb)

索引构建过程需要遍历整个根文件系统,极
消耗资源

2.       locate的特点

n  查找 速度 快

n  模糊 查找

n  非实时查找

n  搜索的是文件的全路径,不仅仅是文件名

n  可能只搜索用户具备读取和执行权限的目录

3.       locate的用法

-i 不区分大小写的搜索

 -n N 只列举前N 个匹配项目

 locate conf

  搜索名称或路径中带有“conf
的文件

 locate -r ‘\.conf$’

  使用Regex 来搜索以“.conf ”结尾的文件

               例如:查找以后缀为.Log的文件

                             [root@localhost ~]#  Locate  
–I   .log

                               /var/log/gdm/:0-slave.lo

/var/log/gdm/:0.log

/var/log/gdm/:0.log.1

只列出部分结果,结果太多了

查找前五行以.log结尾的文件

[root@localhost ~]# locate -i -n5 .log

/etc/csh.login

/root/.imsettings.log

/root/install.log

/root/install.log.syslog

/root/.cache/mozilla/firefox/w5xc6vnw.default/cache2/index.log

二.         Find命令

1.       find命令的特点

n  查找速度略慢

n  精确查找

n  实时查找

n  可能只搜索用户具备读取和执行权限的目录

          2.   语法:

find [OPTION]… [ 查找路径] [ 查找条件] [ 处理动作]

查找路径:指定具体目标路径;默认为当前目录

查找条件:指定的查找标准,可以文件名、大小、类型、

权限等标准进行;默认为找出指定路径下的所有文件

处理动作:对符合条件的文件做操作,默认输出至屏幕

2.       选项

-type TYPE:

f:  普通文件

d:  目录文件

l:  符号链接文件

s :套接字文件

b:  块设备文件

c:  字符设备文件

p: 管道文件

            3     -maxdepth level 最大搜

-minxdepth level  最小搜索深度

-name 基于名称的精确查找

-iname 基于名称忽略大小写的精确查找查找

-inum 基于inode查找

-samefile 基于相同inode号的查找(查找硬链接)

-links n 硬链接为n的文件 

-regex 支持正则 默认为(emacs标准)

-regextype egrep -regex 支持egrep同标准的正则 

-user 用户名  基于文件owner的查找

-group 组名 基于文件group

-uid userid 基于文件uid的查找

-gid groupid 基于文件gid的查找

-nouser 查找没有owner的文

-nogroup 查找没有group的文件

-type 基于文件类型的查找

  4 例子

  1.   找出/tmp 目录下,属主是root ,且文件名 不以f 开头的

/etc/lsb-release.d/base-4.0-amd64

1836489    0 -rw-r–r–   1 root    
root            0 Feb 22  2013 /etc/lsb-release.d/printing-4.0-amd64

1836491    0 -rw-r–r–   1 root    
root            0 Feb 22  2013 /etc/lsb-release.d/graphics-4.0-amd64

1836490    0
-rw-r–r–   1 root     root            0 Feb 22  2013 /etc/lsb-release.d/printing-4.0-noarch

1835855    4 -rw-r–r–   1 root    
root          212 Mar 23 02:12
/etc/statetab

2.查找/etc/ 下,除/etc/sane.d 目录的其它所有.conf
后缀的文件

find /etc \(–path
‘/etc/sane.d’ –o –path ’/etc/fonts’ \)

/etc/lsb-release.d/base-4.0-noarch

/etc/lsb-release.d/core-4.0-noarch

/etc/lsb-release.d/graphics-4.0-noarch

/etc/lsb-release.d/core-4.0-amd64

/etc/lsb-release.d/base-4.0-amd64

/etc/lsb-release.d/printing-4.0-amd64

3,。查找/var目录下属主为root,且属组为mail的所有文件

[root@localhost
~]# find /var -user root -group mail

/var/spool/mail

/var/spool/mail/hyma

4.查找/var目录下不属于rootlpgdm的所有文件

[root@localhost
~]# find /var -not \( -user root -o -user lp -o -user gdm \)

/var/lib/pulse

/var/lib/dav

/var/lib/nfs/statd

/var/lib/nfs/statd/sm

/var/lib/nfs/statd/sm.bak

/var/lib/nfs/state

5. 查找/var目录下最近一周内其内容修改过,同时属主不为root,也不是postfix的文件

[root@localhost
~]# find /var -mtime -7 -a -not -user root -not -user postfix -ls

1180965    4 dr-x–x–x   2 lp      
sys          4096 Aug 11 07:50 /var/run/cups/certs

1181672    4 -rw-r–r–   1 rpcuser 
rpcuser         5 Aug 11 07:50
/var/run/rpc.statd.pid

6. 查找/etc目录下大于1M且类型为普通文件的所有文件

[root@localhost
~]# find /etc -size +1M -a -type f

/etc/selinux/targeted/modules/active/policy.kern

/etc/selinux/targeted/policy/policy.24

/etc/gconf/gconf.xml.defaults/%gconf-tree.xml

7. 查找/etc目录下所有用户都没有写权限的文件

[root@localhost
~]# find /etc -not -perm  /222 -ls|head
-20|tail -10

1837075    4 -r–r–r–   1 root    
root          338 Feb 22  2016 /etc/lvm/profile/cache-smq.profile

1837259    4 -r–r—–   1 root    
root         3729 Dec  8  2015
/etc/sudoers

1835989    4 -r-xr-xr-x   1 root    
root         1362 Mar 23 07:25
/etc/rc.d/init.d/blk-availability

1837081    4 -r-xr-xr-x   1 root    
root         3045 Mar 23 07:25
/etc/rc.d/init.d/lvm2-monitor

1837080    4 -r-xr-xr-x   1 root    
root         2137 Mar 23 07:25

8. 查找/etc目录下至少有一类用户没有执行权限的文件

[root@localhost
~]# find /etc -not -perm  111 -ls |head
-10

1835009   12 drwxr-xr-x 119 root     root 
      12288 Aug 11 15:41 /etc

1835687    4 -rw-r–r–   1 root    
root           20 Mar 10  2015 /etc/fprintd.conf

1835141    4 -rw-r–r–   1 root    
root          111 May 11  2016 /etc/magic

1835898    4 drwxr-xr-x   2 root    
root         4096 Mar 23 02:12
/etc/sysctl.d

9. 查找/etc/init.d目录下,所有用户都有执行权限,且其它用户有写权限的文件

[root@localhost
~]# find /etc -perm -113 -ls |head -10

1835370    0 lrwxrwxrwx   1 root    
root           26 Jul  4 19:19
/etc/X11/fontpath.d/xorg-x11-fonts-Type1 -> /usr/share/X11/fonts/Type1

1836589    0 lrwxrwxrwx   1 root    
root           29 Jul  4 19:23
/etc/X11/fontpath.d/cjkuni-fonts-uming -> /usr/share/fonts/cjkuni-uming

1835030    0 lrwxrwxrwx   1 root    
root           27 Jul  4 19:17 /etc/X11/fontpath.d/liberation-fonts
-> /usr/share/fonts/liberation

1837292    0 lrwxrwxrwx   1 root    
root           27 Jul  4 19:25
/etc/X11/fontpath.d/xorg-x11-fonts-100dpi:unscaled:pri=30 ->
/usr/share/X11/fonts/100dpi

1837262    0 lrwxrwxrwx   1 root    
root           25 Jul  4 19:24

原创文章,作者:Touch,如若转载,请注明出处:http://www.178linux.com/84560

(1)
上一篇 2017-08-12 17:45
下一篇 2017-08-12 20:28

相关推荐

  • 基于keepalived实现高可用nginx服务

    基于keepalived实现高可用nginx服务 环境及配置前提说明 主机1,ip:192.168.25.140 运行web服务 主机2,ip:192.168.25.141 运行web服务 主机3,ip:192.168.25.138 运行nginx服务和keepalived服务 主机4,ip:192.168.25.139 运行nginx服务和keepaliv…

    Linux干货 2016-11-07
  • linux系统文件的元数据

    linux系统文件的元数据 什么是元数据 文件的数据分两种: 一种元数据,既属性数据:metadata 一种就是数据本身:data 如何查看元数据: stat stat命令用于显示文件的状态信息 [root@localhost ~]# stat /tmp/mylinux File: ‘/tmp/mylinux’ Size: 143 Blocks: 0 IO …

    Linux干货 2018-03-11
  • php-fpm实验

    #yum install marisdb-server #vim /etc/my.cnf.d/server.cnf [mysqld]         skip_name_resolve=ON         innodb_file_per_…

    Linux干货 2017-06-08
  • Linux发行版的基础目录名称命名法则及功用规定

    [root@localhost /]# tree -L 1. <—-> 为 / 符号,所有文件的根目录;├── bin -> usr/bin <—-> 所有用户可用的基本命令程序文件;├── boot <—-> 引导加载器必须用到的各静态文件:kernel,initramfs(in…

    2018-02-28
  • Linux文件管理命令

    2018-03-11

    2018-03-11
  • 初识linux

    Linux 是什么?2014年之前我都没有听说过linux。 简单来说,Linux是一种操作系统,我们知道Windows吧,Linux也是一种操作系统。 特性: (1)字符界面(当然现在也有图形界面了) (2)一切皆文件 (3)许多小工具程序组合 Linux脱胎于Unix,Unix是由贝尔实验开发的。符合posix 标准,Unix系统上面的应用程序大部分可以…

    Linux干货 2016-06-01