程序员之路:Linux文件搜索

举报
彭世瑜 发表于 2021/08/14 01:06:28 2021/08/14
【摘要】 1、文件搜索命令locate 格式:locate 文件名 后台数据库中按文件名搜索,搜索速度更快 /var/lib/mlocate   #locate命令所搜索的后台数据库 update 更新数据库 Linux默认一天更新一次文件数据库 ...
1、文件搜索命令locate
格式:locate 文件名
后台数据库中按文件名搜索,搜索速度更快

/var/lib/mlocate   #locate命令所搜索的后台数据库

update 更新数据库
Linux默认一天更新一次文件数据库

/etc/updatedb.conf配置文件
PRUNE_BIND_MOUNTS = "yes"  #开启搜索限制
PRUNEFS   #搜索时,不搜索的文件系统
PRUNENAMES  #搜索时,不搜索的文件类型
PRUNEPATHS  #搜索时,不搜索的路径

2、命令搜索命令whereis和which 
whereis只能查命令所在位置
 -b只查看执行文件  
-m帮助文档所在位置 不能搜索普通文件。

which 
文件名 能看到命令所在位置,如果命令有别名(alias)可以看到

PATH环境变量
定义的是系统搜索命令的路径
echo $PATH

下面是linux系统约定不同类型文件默认的颜色:
白色:表示普通文件
蓝色:表示目录
绿色:表示可执行文件
红色:表示压缩文件
浅蓝色:链接文件
红色闪烁:表示链接的文件有问题
黄色:表示设备文件
灰色:表示其它文件

3、文件搜索命令find
find [搜索范围] [搜索条件]

(1)搜索文件
find / -name filename
#避免大范围搜索,会非常耗费系统资源
#find是在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配

通配符:
* 匹配任意内容
? 匹配任意一个字符
[] 匹配任意一个中括号内的字符

(2)不区分大小写
find /root -iname filename

(3)按照所有者搜索
find /root -user root

(4)查找没有所有者的文件
find /root -nouser

(5)查找10天前修改的文件
find /var/log/ -mtime +10

-10  10天内修改的文件
10 10天当天修改的文件
+10 10天前修改的文件

atime 文件访问时间
ctime 改变文件属性
mtime 修改文件内容

(6)查找文件大小是25KB的文件
find  / -size 25k

-25k 小于2KB的文件
25k 等于25KB的文件
+25k 大于25KB的文件

(7)查找i节点是262422的文件
find / -inum 262422

(8)查找/etc 目录下,大于20KB并且小于50KB的文件
find  /etc -size +20k -a -size -50k
-a and 逻辑与,两个条件都满足
-o or 逻辑或,两个条件满足一个即可

(9)查找/etc/目录下,大于20KB并且小于50KB的文件,并且显示详细信息
find /etc -size +20k -a -50k -exec ls -lh {} \;
-exec/-ok 命令 {} \; 对搜索结果执行操作

 4、搜索字符串命令grep
grep [选项] 字符串 文件名
-i 忽略大小写
-v 排除指定字符串

5、find命令与grep命令的区别
find命令:在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配
grep命令:在文件中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式是包含匹配


文章来源: pengshiyu.blog.csdn.net,作者:彭世瑜,版权归原作者所有,如需转载,请联系作者。

原文链接:pengshiyu.blog.csdn.net/article/details/81049161

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。