Linux学习之文件搜索命令
一.文件搜索命令locate
locate 文件名
在后台数据库中按文件名搜索,搜索速度最快
/var/lib/mlocate
#locate命令所搜索的后台数据库(数据库不会实时刷新,所以新建的文件马上使用localte命令是无法搜索到的,更新频率大概一天一次)
updatedb
#更新数据库(更新后就可以使用locate命令进行搜索了)
- 缺点
1)只能搜索文件名
2)存在不搜索的文件或目录(可以使用vi /etc/updatedb.conf命令查看不搜索的部分有哪些,如图中不搜索的部分为yes那一行下面的所有内容,换句话说,打比方你在/tmp目录下创建了个文件,那么即使你updatedb后也是无法搜索到那个文件的)
二.命令搜索命令whereis与which
whereis 命令名
#搜索命令所在路径及帮助文档所在位置
选项:
-b:只查找可执行文件
-m:只查找帮助文件
限制条件:
只能搜索系统命令,不能搜索普通文件
which 命令
#搜索命令所在路径及别名
不是所有命令都有别名,所以使用which有时候会不显示别名
- 注意事项:
shell自带的内置命令使用which或whereis是无法查找到可执行文件的例如cd命令,只有外部命令才可以使用which和whereis来进行查找,之所以pwd、ls这种命令可以直接使用是因为linux自动为这些系统命令配置了环境变量。如果是我们自己写的程序如果想不打绝对路径就运行的话需要自己手动配置环境变量,就像windows那样
可以使用命令”echo $PATH”来查看环境变量
三.字符搜索命令find
find [搜索范围] [搜索条件]
#搜索文件
find / install.log #在/目录下遍历查找install.log文件
#避免大范围搜索,会非常消耗系统资源
选项 |
描述 |
例子 |
-name | 按文件名搜索(区分大小写) | find /root –name install.log |
-iname | 按文件名搜索(不区分大小写) | find /root –iname install.log |
-user | 按所有者搜索(搜索属于所有者的所有文件) | find /root –user root |
-nouser | 查找没有所有者的文件(搜索当前没有所有者的所有文件) 注意: 1./sys和/proc两个目录中如果存在没有所有者的文件请不要手动清除,因为他可能是内核直接产生的文件,内核直接产生的文件不一定会存在所有者 2.外来文件,比如拿U盘从windows中copy到linux中的 3.除了以上两种情况,其他没有所有者的文件可以全部清除,基本都是垃圾文件 |
find /root –nouser |
-mtime | 按修改时间查询文件 atime 文件访问的时间 ctime 修改文件属性的时间 mtime 修改文件内容的时间 |
find /var/log/ –mtime +10 #查找10天前修改的文件 -10 10天内修改的文件 10 10天当天修改的文件 +10 10天前修改的文件 |
-size | 按文件大小查询 -a and 逻辑与,两个条件都满足 -o or 逻辑或,两个条件满足一个即可 -exec/-ok 命令 {}\; 对搜索结果执行操作,非常有用 |
find . –size 25k #当前目录查询文件大小是25kb的文件 -25k 小于25kb的文件 25k 等于25kb的文件 +25k 大于25kb的文件 find /etc –size +20k –a –size –50k find /etc –size +20k –a –size –50k –exec ls –lh {} \; |
-inum | 按i节点查询文件(也就是ID号) | find . –inum 262422 #查找节点是26244的文件 |
find是在系统当中搜索符合条件的文件名。如果需要匹配,使用通配符匹配,通配符是完美匹配,相当于是模糊查询例如:
通配符 |
描述 |
例子 |
* | 匹配任意内容 | find /root –name “install.log*”(之所以加了引号是有可能不会识别通配符) |
? | 匹配任意一个字符 | find /root –name “ab?” |
[] | 匹配任意一个中括号内的字符 | find /root –name “ab[cd]” |
四.字符串搜索命令grep
grep [选项] 字符串 文件名
#在文件当中匹配符合条件的字符串
选项 |
说明 |
例子 |
grep “size” test.txt 在test.台下听众搜索包含size这个字符串的行 |
||
-i | 忽略大小写 | grep –i “size” test.txt 在test.台下听众搜索包含size这个字符串的行,不区分大小写 |
-v | 排除指定字符串 | grep –v “size” test.txt 在test.台下听众搜索包不含size这个字符串的行 |
五.find命令与grep命令的区别
find:在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是万全匹配
grep:在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式包时包含匹配
Linux学习之文件搜索命令的更多相关文章
- Linux学习日志--文件搜索命令
开头总结: 学习了Linux中的文件搜索命令find和locate,系统搜索命令whereis 和which ,字符串搜索命令grep,find和locate的差别和使用方法格式,什么是path环境变 ...
- 五、Linux学习之文件搜索命令
一.文件搜索命令locate locate 文件名 在后台数据库中按文件名搜索,搜索速度最快 /var/lib/mlocate #locate命令所搜索的后台数据库(数据库不会实时刷新,所以新建的文件 ...
- Linux 学习 (三) 文件搜索命令
Linux达人养成计划 I 学习笔记 locate 文件名 搜索速度比较快 只能根据文件名搜索 搜索的是保存在 /var/lib/mlocate 的数据库(每天更新一次) 新建文件需要执行 updat ...
- Linux常用命令学习2---(文件搜索命令locate find、命令搜索命令whereis which、字符串搜索命令grep、帮助命令man)
1.文件搜索命令:locate [文件名] 在后台数据库中按文件名搜索,搜索速度比find快,耗费资源更少 例子:locate test.txt,就会显示文件名包含 test.txt的所 ...
- [Linux] 013 其他文件搜索命令
1. 文件搜索命令:locate 命令名称:locate 命令所在路径:/bin/locate 执行权限:所有用户 语法:locate 文件名 功能描述:在文件资料库中查找文件 范例: $ locat ...
- Linux 学习 (二) 文件处理命令
Linux达人养成计划 I 学习笔记 ls [选项] [文件或目录] -a: 显示所有文件,包括隐藏文件 -l: 显示详细信息 -d: 查看目录属性 -h: 人性化显示文件大小 -i: 显示inode ...
- linux 学习2 文件处理命令
____命令格式与目录处理命令 ____目录处理命令 ____文件处理命令 ____链接命令 ls list 菜单 命令 [-选项][参数] 选项:调整功能,多个选项可以写在一起,不分顺序. 简化选项 ...
- linux中find文件搜索命令
find 解释 命令名称:find 命令所在路径:/bin/find 执行权限:所有用户 功能描述:文件搜索 语法 find [搜索范围] [匹配条件] 匹配条件: -name 文件名(区分大小写) ...
- linux笔记_文件搜索命令
一.locate命令 locate命令属于mlocate包,如果执行locate filename提示命令未找到执行安装mlocate包 # yum -y install mlocate 安装后执行l ...
随机推荐
- Linux--shell三剑客<sed>--07
1.sed(stream editor): 作为行编辑器,对文本进行编辑(以行为单位) 默认显示输出所有文件内容 注意:sed编辑文件,却不改变原文件 2.sed的工作原理: 指定一个文本文件,依次读 ...
- cd 切换目录
1. 功能说明 cd是“change directory”中每个氮气的首字母缩写功能是重当前工作目录切换到指定的工作目录:cd是内建命令. 2. 语法格式 cd [option] [dir] cd ...
- 浅谈ContextLoaderListener及其上下文与DispatcherServlet的区别
一般在使用SpingMVC开发的项目中,一般都会在web.xml文件中配置ContextLoaderListener监听器,如下: <listener> <listener-clas ...
- alert(1) to win 3
function escape(s) { s = JSON.stringify(s); return '<script>console.log(' + s + ');</script ...
- Tomcat的作用思考及NIO在Tomcat中的应用模型
Tomcat的作用 平时写完web程序都是直接点击启动,就可以在本机浏览器访问了.但是仔细想想,我们似乎都没有写过浏览器与servlet通信的代码,也没有写过创建request.reponse的代码. ...
- OC + RAC (二) Command 命令的用法
-(void)_test2{ ///////////////////////////////////////Command 命令的用法 注意使用command.executionSignals去订阅时 ...
- 862C - Mahmoud and Ehab and the xor(构造)
原题链接:http://codeforces.com/contest/862/problem/C 题意:给出n,x,求n个不同的数,使这些数的异或和为x 思路:(官方题解)只有n==2&&am ...
- MySQL系统服务的安装删除
1.从该地址http://dev.mysql.com/downloads/mysql/中选择windows的版本,选择下载. 2.将下载的压缩包解压. 3.将根目录下的my-default.ini复制 ...
- oracle SQL in plsql
刚安装好的oracle和plsql,以oracle11g为例 1.刚安装好后有两个默认的系统账号和初始密码:sys/change_on_install,system/manager 2.如果忘记了或不 ...
- PHP csv导出数据 (二)
全部导出和时间导出 html代码,全程并不需要引用什么插件 <include file="public@header"/> <link href="__ ...