Linux的文件搜索命令

Linux的文件搜索命令

搜索文件的命令:locate

locate 文件名
#在后台数据库中按文件名搜索,搜索速度更快

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

updatedb
#更新数据库(默认一天更新一次)

搜索命令的命令:whereis

whereis 命令名
#搜索命令所在路径及帮助文档所在位置

-b:只查找可执行文件
-m :只查找帮助文件

搜索命令的命令:which

which 文件名
#搜索命令所在路径及别名

文件搜索命令:find

find [搜索范围] [搜索命令]
#(搜索速度慢)
#1.避免搜索范围过大,会非常耗费系统资源
#2.find是在系统当中搜索符合条件的文件名。如果需要匹配,使用通用符匹配,通用符是完全匹配

find用法举例:

find用法举例:

find / -name install.log
#完全匹配:只能搜索到 install.log,名字完全一致才能被搜到

1.如果进行包含匹配,需加通配符
find /root -name "install.log*"

2.不区分大小写进行搜索
find /root -iname install.log
-iname 

3.按照所有者搜索
find /root -user root(搜索所有者是root的文件)

4.搜索指定目录下没有所有者的文件
find /root -nouser
#注:Linux中没有所有者的文件当做垃圾文件,可进行处理。
   但*内核产生*的文件有可能没有所有者(proc和sys两个目录中);
   *外来文件*可能没有所有者;

5.按日期进行搜索(日志)
find /var/log/ -mtime +10
#查找十天前修改的文件

-10  十天内修改文件
10  十天当天修改文件
+10  十天前修改文件
 
 -atime 文件访问时间
 -ctime 改变文件属性
 -mtime  修改文件内容

6.按文件大小搜索
find . -size 25k(查找当前目录下文件大小是25KB的文件,k为小写)
find /root -size 25M(查找root目录下文件大小是25M的文件,M大写)

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

7.按 i 结点查找
find . -inum 917509

搜索字符串命令:grep

grep [选项] 字符串 文件名
#在文件中匹配符合条件的字符串
选项:
-i  忽略大小写
-v  排除指定字符串

补充:

环境变量:
PATH环境变量:定义的是系统搜索命令的路径
echo $PATH
通配符:
*  匹配任意内容
?  匹配任意一个字符
[]  匹配任意一个中括号内的字符
find /etc -size +20k -a -size -50k
#查找/etc/目录下,大于20k小于50k的文件
-a and,逻辑与
-o or,逻辑或

find /etc -size +20k -a -size -50k -exec ls -lh {} \;
#查找/etc/目录下,大于20k小于50k的文件,并显示其详细信息
#-exec 命令 {} \;  对搜索结果进行再次操作
find命令和grep命令的区别
find:在系统中搜索符合条件的文件名
grep:在文件中搜索符合条件的字符串
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值