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 ...
随机推荐
- JQuery 相关用法和操作
01-JQuery 基础语法: 1.使用JQuery必须先导入JQuery.x.x.xjs文件. 2.JQuery中的选择器: $(选择器).函数() ① $是JQuery的缩写,既可以使用JQuer ...
- 团队作业4----第一次项目冲刺(Alpha版本)4.28
a.提供当天站立式会议照片 会议内容 今天我们主要针对统计结果的表现形式进行了一些讨论,我们考虑是直接显示统计数据或者是用一些直观的图形来体现,最后经过讨论我们大部分人认为选择数据与图形更加形象直观. ...
- 201521123048 《Java程序设计》第4周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 1.多态:使用单一接口操作多种类型的对象. 2.private修饰属性,public修饰方法 ...
- Java课程设计——计算数学表达式的程序(201521123051 谢庆圆)
计算数学表达式的程序(201521123051 谢庆圆) 1.团队课程设计博客链接 团队课程设计博客链接 2.个人负责模块或任务说明 1.计算数字表达式中操作按钮的实现(右容器) 2.. 注册监听器以 ...
- 201521123048 《Java程序设计》第13周学习总结
1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 书面作业 1. 网络基础 1.1 比较ping www.baidu.com与ping cec.jmu ...
- NA笔记
常用配置命令 mstsc 远程桌面控制指令(在运行中输入) cmd 运行 copy running-config start 正在启动文件 copy running-config startup-ci ...
- 小甲鱼:Python学习笔记003_函数
>>> # 函数>>> def myFirstFunction(params1,params2...): print("这是我的第一个函数!") ...
- js对象详解(JavaScript对象深度剖析,深度理解js对象)
js对象详解(JavaScript对象深度剖析,深度理解js对象) 这算是酝酿很久的一篇文章了. JavaScript作为一个基于对象(没有类的概念)的语言,从入门到精通到放弃一直会被对象这个问题围绕 ...
- TestNG操作详解
运行测试步骤方法有如下两种: 1. 直接在Eclipse运行testNG的测试用例, 在代码编辑区域鼠标右键, 选择Run as ->testNG Test 2. 在工程的根目录下, 建立tes ...
- 如何查看maven plugin所包含的goal
maven项目的构建生命周期(build lifecycle)由很多阶段组成:从validate到deploy. maven插件中包含goal.这些goal可以被绑定到不同的maven的构建阶段上.g ...