Linux上的文件搜索
locate
基础了解
在centos7上默认没有locate命令,需要先手动安装。安装步骤:http://www.cnblogs.com/feanmy/p/7676717.html
locate命令搜索的后台数据库路径:/var/lib/mlocate/mlocate.db
ls -hl /var/lib/mlocate total 1.2M -rw-r----- root slocate : mlocate.db
更新数据库使用updatedb,配置文件为/etc/updatedb.conf
# 开启搜索限制PRUNE_BIND_MOUNTS = "yes"# 不搜索的文件系统 PRUNEFS = "9p afs anon_inodefs auto autofs bdev binfmt_misc cgroup cifs coda configfs cpuset debugfs devpts ecryptfs exofs fuse fuse.sshfs fusectl gfs gfs2 gpfs hugetlbfs inotifyfs iso9660 jffs2 lustre mqueue ncpfs nfs nfs4 nfsd pipefs proc ramfs rootfs rpc_pipefs securityfs selinuxfs sfs sockfs sysfs tmpfs ubifs udf usbfs" # 不搜索的文件类型PRUNENAMES = ".git .hg .svn" # 不搜索的文件路径PRUNEPATHS = "/afs /media /mnt /net /sfs /tmp /udev /var/cache/ccache /var/lib/yum/yumdb /var/spool/cups /var/spool/squid /var/tmp"
命令选项
了解一个命令可以使用man,如 man locate,可以显示locate相关的选项。这里只介绍几个常用选项
-c, --count 只输出找到的数量-i, --ignore-case 忽略大小写 -q, --quiet 安静模式,不会显示任何错误讯息 -r, --regexp REGEXP 使用基本正则表达式 --regex 使用扩展正则表达式-n 结果中显示n个文件
使用示例
1、locate /etc/pro :查询出/etc目录下所有以pro开头的文件
locate /etc/pro /etc/profile /etc/profile.d /etc/protocols /etc/profile.d/256term.csh /etc/profile.d/256term.sh /etc/profile.d/colorgrep.csh /etc/profile.d/colorgrep.sh /etc/profile.d/colorls.csh /etc/profile.d/colorls.sh /etc/profile.d/lang.csh /etc/profile.d/lang.sh /etc/profile.d/less.csh /etc/profile.d/less.sh /etc/profile.d/vim.csh /etc/profile.d/vim.sh /etc/profile.d/which2.csh /etc/profile.d/which2.sh
2、locate -c /etc/pro :显示匹配到的文件数
locate -c /etc/pro
3、locate -i topoftencent.class.php :忽略文件名大小写
locate -i topoftencent.class.php /var/www/html/fxyxManage/Spider/TopOfTencent.class.php
虽然文件名大小写不一致,但使用-i选项依然能匹配出
find
基础了解
使用find进行文件查找的速度要慢于locate,但是功能及参数要强于locate。在使用find时,要避免大范围的搜索
命令选项
这里介绍常用选项,其他选项可通过man find了解
-name filename #查找名为filename的文件-iname filename #查找文件filename,不区分大小写 -gid n #查找属组gid为n的文件 -user username #按文件属主来查找 -group groupname #按组来查找 -mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前 -atime -n +n #按文件访问时间来查GIN: 0px"> -ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前 -nogroup #查无有效属组的文件,即文件的属组在/etc/groups中不存在 -nouser #查无有效属主的文件,即文件的属主在/etc/passwd中不存-newer f1 !f2 #查更改时间比f1新但比f2旧的文件 -type #查是块设备、目录、字符设备、管道、符号链接、普通文件 -size n[c] #查长度为n块[或n字节]的文件
使用示例
1、find /etc -name profile:在/etc目录下查找名为profile的文件
[root@iZwz985sjvpojho4jlms7lZ ~]# find /etc -name profile /etc/profile
2、find / -user mysql :在根目录下查找属主为mysql的文件
[root@iZwz985sjvpojho4jlms7lZ ~]# find / -user apache /proc//task /proc//task/ /proc//task//attr /proc//net /proc//attr /proc//task /proc//task/ /proc//task//attr /proc//net /proc//attr......
查看/proc/29936/task的文件属性
[root@iZwz985sjvpojho4jlms7lZ ~]# ll /proc//task total dr-xr-xr-x apache apache Oct : 29936 # 属主为apache
3、find /var/lib -group apache : 在/var/lib下根据属组apache查找文件
[root@iZwz985sjvpojho4jlms7lZ ~]# find /var/lib -group apache /var/lib/dav /var/lib/php/session /var/lib/php/session/sess_7vtaesehg11f45ljrsh98k3s57 /var/lib/php/session/sess_uubh9p4tvc1mohopepndg9m3d3 /var/lib/php/session/sess_aovaqofcs4918vsl0mhquf79a7 /var/lib/php/session/sess_pm8lgnn78c9jh54umjnk0gsu14 /var/lib/php/session/sess_i1tc9i6n0chddlfp250oqun8f2 /var/lib/php/session/sess_2c1vrgb6lqgifg7lruaoq5u6s2 /var/lib/php/session/sess_3vc0gbkpl1m4hb2h5mr7nbgvk4 /var/lib/php/session/sess_rditv2odgr4vg7jmdu8sfvdm90 /var/lib/php/session/sess_a6m2fkh0cel9uf7tqo48qmphs5 /var/lib/php/session/sess_eierot422pov01ognbjo2dkqv1 /var/lib/php/session/sess_1ei3jbop7osama4m375qrsqqc5 /var/lib/php/session/sess_vovl6rrmb66a570dncpgp49p22 /var/lib/php/session/sess_6ef5d9r6fhatqie8apr28odgn0 /var/lib/php/session/sess_1o1rv6o963v3nr5sdui3hodll0
4、find /var/www -mtime -2 : /var/www目录下在2天以内修改过的文件
[root@iZwz985sjvpojho4jlms7lZ ~]# /var/www/html/fxyxManage/Application/Runcache/Cache/Admin/b595b808c2ebeeeb0478ffc30bb4e87a.php /var/www/html/fxyxManage/Application/Runcache/Cache/Admin/e82f9209c88dd6a459bf8b3d6299d38c.php /var/www/html/fxyxManage/Application/Runcache/Cache/Admin/dfa8fa69d0f81d1ba09048823f5e779b.php /var/www/html/fxyxManage/Application/Runcache/Cache/Admin/3fd17d8cbb99d40eed8370916fbba7bf.php /var/www/html/fxyxManage/Application/Runcache/Cache/Admin/32ec6c906c117a7c2bf504769276d87a.php /var/www/html/fxyxManage/Application/Runcache/Logs/Weixin
选项-atime、-ctime的用法同-mtime
5、find /etc/httpd -type d:查找/etc/httpd下的目录,-type根据文件类型查找
[root@iZwz985sjvpojho4jlms7lZ ~]# find /etc/httpd -type d /etc/httpd /etc/httpd/conf /etc/httpd/conf.modules.d /etc/httpd/conf.d
6、find /var/www -iname topoftencent.class.php :开启不区分文件名大小写查找
[root@iZwz985sjvpojho4jlms7lZ ~]# find /var/www -iname topoftencent.class.php /var/www/html/fxyxManage/Spider/TopOfTencent.class.php
7、find /var/lib/mysql -gid 27:查找属组id为27的文件
[root@iZwz985sjvpojho4jlms7lZ ~]# /var/lib/mysql/auto.cnf /var/lib/mysql/ibdata1 /var/lib/mysql/ib_logfile0 /var/lib/mysql/performance_schema /var/lib/mysql/performance_schema/accounts.frm /var/lib/mysql/performance_schema/threads.frm ......
暂时就先到这吧......
Linux上的文件搜索的更多相关文章
- Linux学习日志--文件搜索命令
开头总结: 学习了Linux中的文件搜索命令find和locate,系统搜索命令whereis 和which ,字符串搜索命令grep,find和locate的差别和使用方法格式,什么是path环境变 ...
- Linux常用命令——文件搜索命令
Linux常用命令——文件搜索命令 Linux 以#号开头的内容都是内容描述或配置项 find 描述:文件搜索 语法:find [搜索范围] [范围条件] . 当前目录 示例:[root@local ...
- Linux上读取文件
Linux上读取文件的方法: #!/bin/bash # This is a script for test exec CONFIG_FILE=$ #该脚本传一个文件名为参数 FILE_NO= ech ...
- linux上hosts文件如何配置
linux上hosts文件如何配置 一.什么是host Hosts是一个没有扩展名的系统文件,其基本作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登 ...
- windows上用putty从linux上下载文件
我之前使用putty都是直接从网上下的putty.exe,其实如果想下载windows的mis二进制文件,系统安装的话会包含,pscp.psftp.puttygen等一系列的文件. 今天下从服务器上, ...
- Linux上的文件查找工具之locate与find
前言 Linux上提供了两款工具用于查找文件,一款是locate,另一款是find. locate的特点是根据已生成的数据库查找,速度较快,但是查找的是快照数据,不准确. 因此在日常使用中,为了准确性 ...
- Linux上 .vimrc文件
在Linux上面对VIM编辑器的格式的设置通常可以提升工作效率,下面对工作机器上的.vimrc文件的内容进行一总结,以备后续的查询 set smarttab set tabstop=4 set shi ...
- Windows下使用xShell向远程Linux上传文件
上传文件使用rz与sz命令,远程Linux系统上需要安装lrzsz工具包 下载安装包lrzsz-0.12.20.tar.gz: http://www.linuxidc.com/Linux/2010- ...
- 使用PuTTY在Windows中向Linux上传文件
为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/3843207.html ...
随机推荐
- Java web servers 间是如何实现 session 同步的
Java web servers 间是如何实现 session 同步的 有一个多月的时间没有更新博客了,今天终于忙里偷闲,可以把近期的收获总结一下. 本文是关于Java web servers 之间 ...
- 浏览器事件window.onload、o…
原文地址:浏览器事件window.onload.onfocus.onblur.onscroll和resize作者:lilyxiao <html> <head> <titl ...
- 团队作业4——第一次项目冲刺(Alpha版本)第一天+第二天+第三天+第四天+第五天+第六天+第七天
冲刺第一天 一.Daily Scrum Meeting照片 二.每个人的工作 1.今天计划完成的任务 GUI.计时功能.题目生成 2.工作中遇到的困难 刚开始在计时功能模块只能做到秒位,经过查询资料后 ...
- 201521123061 《Java程序设计》第六周学习总结
201521123061 <Java程序设计>第六周学习总结 ***代码阅读:Child压缩包内 1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核 ...
- 201521123029《Java程序设计》第三周学习总结
1.本周学习总结 2.书面作业 Q1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; pu ...
- 201521123085 《Java程序设计》 第3周学习总结
1. 本周学习总结 2. 书面作业 1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; p ...
- Sublime Text编辑器如何隐藏顶部的菜单栏
隐藏前: 解决办法: 1.按住Ctrl+Shifp+p,出现一个框,在框里输入“view:”,出现了如下界面 2.选择:“View:Toggle Menu”即可.结果为: 大功告成!!!!
- 201521123064 《Java程序设计》第11周学习总结
1. 本章学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. ① 定义Thread类的子类,覆盖Thread类的run()方法,然后创建该子类的实例(一般不用该方法,开销大. ...
- php数据库操作小要点
保留小数点后两位 $ba = floor(($v[2]/$sum[0][0])*10000); //取整数 $bb = $ba/100; //两位小数 列的值加一可以直接用自身,不用单独查询出来 $s ...
- Android 跳转系统选择本地视频的功能
今天在项目开发的过程中产品要求添加选择本地视频的功能,于是就翻阅和查找各种资料,进行功能的开发,但是在开发过程中发现,各种不同的品牌的手机跳转至系统选择本地视频的功能结果不太一样,所以我就对一些主流的 ...