五、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 ...
随机推荐
- API验证
API验证说明 API验证: a. 发令牌: 静态 PS: 隐患 key被别人获取 b. 动态令牌 PS: (问题越严重)用户生成的每个令牌被黑客获取到,都会破解 c. 高级版本 PS: 黑客网速快, ...
- It isn't possible to write into a document from an asynchronously-loaded
It isn't possible to write into a document from an asynchronously-loaded 今天遇到了一个问题: 通过document.wri ...
- 三维空间中xoy平面上特定抛物线的正等测投影解析解的一种求法
背景 背景:为锻炼代同学,老师给了她一个反向工程微信"跳一跳"小游戏的任务,希望做一个一样的出来.跳一跳中,有方块,有小人,小人站在方块上. 这个游戏的玩法是,用手指按住手机屏幕, ...
- C++:类中两个易被忽略的默认函数
C++的自定义类中有六个默认的函数,即如果用户没有显式定义这些函数时,C++编译器会类中生成这些函数的默认形式.除了大家所熟知的构造函数.拷贝构造函数.赋值函数和析构函数外,C++为自定义类 还提供了 ...
- 第二阶段每日站立会议Fifth Day
昨天继续调试手机界面,解决了Tomcat服务可以打开,但是无法连接到数据库的问题 今天做最后的准备阶段,完善卖家后台管理界面
- 关于 error C2001: 常量中有换行符
看过之后,还是有所收获的,先mark一下 原链接: http://www.cnblogs.com/cocos2d-x/archive/2012/02/26/2368873.html#commentfo ...
- Java操作百度身份证API
网址:http://apistore.baidu.com/ 点击功能进行复制代码,就拿百度的身份证API 举例子: http://apistore.baidu.com/apiworks/service ...
- HDU 4539 郑厂长系列故事——排兵布阵 状压dp
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4539 郑厂长系列故事--排兵布阵 Time Limit: 10000/5000 MS (Java/O ...
- Codeforces Round #341 (Div. 2) E. Wet Shark and Blocks dp+矩阵加速
题目链接: http://codeforces.com/problemset/problem/621/E E. Wet Shark and Blocks time limit per test2 se ...
- 团队作业7——第二次项目冲刺(Beta版本12.09——12.10)
1.当天站立式会议照片 本次会议在5号公寓3楼召开,本次会议内容:①:熟悉每个人想做的模块.②:根据项目要求还没做的完成. 2.每个人的工作 经过会议讨论后确定了每个人的分工 组员 任务 陈福鹏 倒计 ...