文件查找

文件查找

 

 

一.文件查找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)
TouchTouch
上一篇 2017-08-12
下一篇 2017-08-12

相关推荐

  • 逻辑卷(LVM)管理实例详解

    LVM基本术语 下面是LVM需要了解的基本术语:    物理卷(PV physical volume): 它可以是物理硬盘上的分区,也可以是整块物理硬盘;  卷组(VG volume group): 建立在物理卷之上,一个卷组至少包括一个物理卷,可以动态增删物理卷;  逻辑卷(LV logical volume):建立…

    Linux干货 2016-09-01
  • http协议(2.2&2.4)RPM搭建配置

    http协议(2.2&2.4)RPM搭建配置 httpd的程序环境: 主程序文件:/usr/sbin/httpd CentOS6系列(默认httpd2.2) 1)配置文件: /etc/httpd/conf/httpd.conf、  /etc/httpd/conf.d/*.conf 2)服务脚本: /etc/rc.d/init.d/…

    Linux干货 2016-10-17
  • Linux用户和组管理

      用户和组管理类命令的使用方法 Liunx用户组管理命令: groupadd命令:添加组     命令用法:         groupadd [选项] group_name   &nbs…

    Linux干货 2016-11-25
  • inode 是什么及绝对路径和相对路径和一些目录相关命令总结

    inode是什么          每个分区又分两个区,元数据区和数据区。     元数据区主要存储文件的权限,属主属组,时间戳,文件的存储位置指针….就如一本书有目录页和内容页一样,目录页上的记录的是内容的页数,可以通过目录页的页数直接…

    Linux干货 2016-08-02
  • linux系统自动化安装和selinux

    系统自动化安装: Anaconda 安装系统分成三个阶段:  安装前配置阶段安装过程使用的语言键盘类型安装目标存储设备Basic Storage :本地磁盘特殊设备:iSCSI设定主机名配置网络接口时区管理员密码x设定分区方式及MBR 的安装位置创建一个普通用户选定要安装的程序包 创建引导光盘:#cp /media/cdrom/isoli…

    Linux干货 2017-04-06
  • 优云云监控:先定一个运维小目标,比方监控它10000台主机

    “想做世界最好是对的,但是最好先定一个能达到的小目标,比方说我先挣它一个亿。”,王首富云淡风轻地给各行各业提供了一个很好的Roadmap,包括我们运维。的确,如今数据中心的规模增长速度也已像一匹脱缰的野马,各地都频频建设起超大型数据中心。按工信部的定义,超大型是指规模大于等于一万个标准机架的数据中心,考虑到虚拟化技术的使用,实际上需要运维的主机规模很容易超过…

    系统运维 2016-12-05