Linux 文件搜索命令

本文介绍了Linux中的文件搜索命令,包括locate、whereis、which和find。locate通过后台数据库快速搜索文件名,whereis用于查找命令的路径和帮助文档,which显示命令路径及别名。find命令功能强大但较慢,能按不同条件搜索文件。此外,还提到了grep命令以及updatedb.conf配置文件对搜索的影响。
摘要由CSDN通过智能技术生成

一下我是学习笔记



文件搜索命令locate

1.locate搜索速度快

2.格式:locate 文件名

3.在后台数据库中按文件名搜索,搜索速度快

4./var/lib/mlocate #locate命令所有搜索的后台数据库(搜索数据库就不用遍历整个操作系统)

5.updatedb (强制马上)更新数据库(mlocate数据库不是实时更新的,一天才更新一次,所有马上建立的新文件夹,是搜索不到的)

因此你想查的话,可以马上更新,然后去查。要么就等第二天去查。

特点:在后台数据库进行搜索,只能按照文件名来搜索,但是很快啊(一般够用了)



命令搜索命令wehreis与which


whereis

搜索命令所载路径及帮助文档所在位置

-b:只查找可执行文件

-m:只查找帮助文件



which

搜索命令所在路径及别名

能看到各种颜色,是因为ls调用了--color别名颜色的选项

1.有的有别名(颜色 ls)-- 外部安装的命令

2.有的没有别名(pwd) --外部安装的命令

3.有的没有找到命令(cd) -- 因为是shell中内置的命令,自带的。






文件搜索命令find

find搜索速度慢,扫描所有的文件名


#搜索文件

格式:find [搜索范围] [搜索条件]

*:匹配任意内容

?:匹配任意一个字符

[]:匹配任意一个中括号内的字符 -- ac[cd] 搜索abc或者abd


#避免大范围搜索。会非常耗费系统资源

#find是在系统当中搜索符合条件的文件名。如果需要匹配,使用通配符匹配,通配符是完全匹配

find / -name install.log


#不区分大小写

find /root -iname install.log


#按照所有者搜索

find /root -user root


#查找没有所有者的文件

find /root -nouser 搜索当前目录下,没有所有者的文件(就是垃圾文件)但是有些特殊情况:

1.如果是内核产生的,会没有所有者(proc,sys这两个中产生的没有所有者的文件,不要删除)

2.外来文件,比如U盘靠过来的(window中产生的...忽略了所有者的概念)

(find /root -user root)在/root目录下搜索用户为root的文件 (很少用...这个)


#查找10天前修改的文件

find /var/log/ -mtime +10

-10:10天内修改的文件

 10:10天当天修改的文件

+10:10天前修改的文件

atime:文件访问时间

ctime:改变文件属性

mtime:修改文件内容


#查找文件带澳是25kb的文件

find . size 25k (“.”代表当前目录)

find . size 25 (没有k代表去找扇区 25*512k)所以一定要加上k k小写,M大写

-25:小于25kb

 25:等于25kb

+25:大于25kb


#查找i节点是262422的文件

find  . inum 262422


#查找/etc/目录下,大于20kb并且小于50kb的文件

find /etc -size +20k -a -size -50k

-a:and 逻辑与,两个条件都满足 

-o: or   逻辑或,两个条件满足一个即可


#查找/etc/目录下,大于20kb并且小于50kb的文件,并显示详细信息

find /etc -size +20k -a -size -50k -exec ls -lh {} \ 

find /root -inum 262421 -exec rm -rf {} \

#-exec/-ok命令{}\;对搜索结果执行操作

第一条命令的结果给第二条去执行 

h是人性化显示





特点:搜索功能很强大,速度比较慢




字符串搜索命令grep



find命令与grep命令的区别








---------------------------------------------------------------------------------------------

/etc/updatedb.conf 配置文件

locate.whereis,witch都会遵守这个配置文件中的筛选规则


PRUNE_BIND_MOUNTS="yes"

#开启搜索限制

#yes=下面所有的规则都生效,no的话表示下面的所有规则都不生效


PRUNEFS =

#搜索时,不搜索的文件系统


PRUNENAMES =

#搜索时,不搜索的文件类型


PRUNEPATHS = 

#搜索时,不搜索的路径



----------------------------------

PATH环境变量:定义的事系统搜索命令的路径

要想自己打的命令不写绝对路径,就要在环境变量中先配好这些路径

echo $PATH








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值