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 ...
随机推荐
- PHP(Math的调用)
<script> //数学函数(用Math来调用)://round=四舍五入最接近的整数// var l = 1.1;// var y1 = Math.round(l);// docume ...
- 团队作业4——第一次项目冲刺(Alpha版本)6th day
一.Daily Scrum Meeting照片 二.燃尽图 三.项目进展 24点的游戏输入是点击我们给的图片然后会输入相应的数字,之前的所做的出 现了一点问题,在把数字删掉重新输入就不行,这个问题仍然 ...
- 团队作业4——第一次项目冲刺(Alpha版本) Day4
借的今天有课,我们团队在课间时间开了简短的会议 2.Leangoo任务分解图: 3.会议结果,和任务分配 队员 今日进展 明日安排 林燕 试编写签到.请假功能的代码雏形 签到.请假功能成熟 王李焕 和 ...
- 201521123064 《Java程序设计》第6周学习总结
1. 本章学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 注1:关键词与内容不求多,但概念之间的联系要清晰,内容覆盖 ...
- 201521123093 java 第四周学习总结
1.平面作业 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 答:1.类与方法的注释 2.super关键字代表的是父类,super.方法表示调用的是父类 2. ...
- 《JAVA程序设计》第12周学习总结
1. 本章学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. InputStream和OutputStream为所有字节流的父类 通过操作流中的字节可处理各种不同类型的数据 ...
- Spring Boot Maven Plugin(二):run目标
简介 Spring Boot Maven Plugin插件提供spring boot在maven中的支持.允许你打包可运行的jar包或war包. 插件提供了几个maven目标和Spring Boot ...
- Linux第一篇【介绍、安装Ubuntu、基本目录结构】
Linux介绍 Linux:不管是不是我们这些学编程的都肯定会听说过这么一个系统,一般地,我们在PC端都是用Windows操作系统,那我们学习Linux操作系统有什么用呢??? 由于我们的JAVAEE ...
- WebUtils复用代码【request2Bean、UUID】
request封装到Bean对象 public static <T> T request2Bean(HttpServletRequest httpServletRequest, Class ...
- 接口测试入门(3)--使用httpClient进行登录用例操作/set-cookies验证/ List<NameValuePair>设置post参数/json解析
(最近学的都是很基础的接口测试,都是基于UI界面可见的接口,就是发请求,接收响应,分析返回的结果,校验,对共通模块进行封装,仅此而已,其实做自动化的思路基本都是如此,UI也是.) 现在开始用httpC ...