紫影基地

 找回密码
 立即注册
查看: 174|回复: 0

Linux中查找文件命令

[复制链接]
阅读字号:

2002

主题

2117

帖子

21万

积分

超级版主

Rank: 8Rank: 8

积分
210303
发表于 2022-12-12 15:44:03 | 显示全部楼层 |阅读模式
grep : 查看文件内容,在文件中查询一个关键字,即搜索字符串的命令(在指定的文件中搜索符合条件的字符串)
grep 是包含匹配,不是完全的精确匹配,特别适合查找内容
语法 :
grep [-option] 需要搜索的关键字 文件名

参数:
-n ---- 连行号一起显示
-c ---- 统计有几行
-i ---- 忽略大小写(一般用的少)
-v ---- 排除指定的字符串(了解),取反,查找出来的内容是搜索条件以外的所有的内容
例如:
[root@localhostTEST ~]# grep -n -i “services” anaconda-ks.cfg
22:# System services
23:services --disabled=“chronyd”
[root@localhostTEST ~]# grep -c “services” anaconda-ks.cfg
2
[root@localhostTEST ~]# grep -c -n “services” anaconda-ks.cfg – 参数-c和其它参数一起使用时,结果只显示统计行数2

find :用于查找文件,适合找文件使用(linux 中最强大的搜索命令)
语法: find [path] [-option] ---- find [搜索范围][搜索条件]
参数: -name 文件名 ---- 按照文件名进行搜索
缺点:慢,原因就是会遍历磁盘内所有的文件名,所以在实际工作中,避免大范围内搜索,很耗资源
find 是在系统中搜索符合条件的文件名,是完全匹配,一模一样的名字,如果搜索过程中,需要匹配范围变大,使用通配符,并且
用双引号括起来,让计算机更好的识别

常见的通配符: * ? []
通配符 * ,将目录名字包含搜索条件的全部都列出来
[root@localhostTEST ~]# find / -name “pack*”
通配符 ?,表示将以搜索条件开头的目录都找出来
[root@localhostTEST ~]# find / -name “B?”
通配符 [],结合 * 一起使用,表示查询文件以 [] 里面的内容结尾命名的文件信息
[root@localhostTEST ~]# find / -name “*[A]”
按照文件的所有者进行搜索(了解)
参数: -user 所有者 ---- 按照文件的所有者进行搜索(了解)
[root@localhostTEST ~]# find / -user test01

locate : 用来查找文件,按照文件名查找,消耗资源小,比find -name 快很多,但是新创建的文件找不到,并且 tmp 临时目录
下的文件也找不到,原因,是locate 查找的是 Linux的数据库 /var/lib/mlocate.db ,但是数据库每天自动更新一次,所有刚创建
的文件找不到。
语法 : locate 文件名
[root@localhostTEST ~]# find / -name “测试”
/home/test01/测试
[root@localhostTEST ~]# locate “测试” – "测试"是新建文件,数据库还没有更新,找不到
[root@localhostTEST ~]# updatedb – 手动更新数据库
[root@localhostTEST ~]# locate “测试” – 再次查询,就找出来了
/home/test01/测试
————————————————
版权声明:本文为CSDN博主「景_01」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_65472085/article/details/123277920
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|紫影基地

GMT+8, 2025-1-12 09:53 , Processed in 0.087301 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表