linux下的文件搜索功能

文件的搜索功能

1. find

语法格式 find 搜索的路径 参数(-name -size -type) 属性条件

find /root -name main.cpp
find /root -name "*.cpp"
find ./ -type f   #(f代表普通文件 l 链接文件 c字符设备文件 b块设备文件 d 目录文件 p 管道类型)
find ./ -type d -type l
find ./ -szie -4k #(区间在0到3k之间)
find ./ -size +4k #(区间在4k到无穷之间)
find ./ -size 4k #(区间在3k到4k之间)
find ./ -size +1k -size -4k #(区间在1k到3K之间)
find ./ -size -2M
find ./ -size -3G

目录层级

-maxdepth 最多搜索到多少层目录
-mindepth 至少从多少层开始搜索

sudo find ./ -maxdepth 5 -name "*.txt"
sudo find ./ -mindepth 2 -name "*.txt"

同时执行多个操作

find ./ -name "*.txt" -exec ls -l {} \;
find ./ -type p -ok sudo rm -r {} \;
find ./ -minpyth 2 -size -2k | xargs ls -lahF

2.grep

命令用于查找文件里符合条件的字符串

ps -ef | grep tomcat
grep "搜索的内容" 搜索的路径/文件 -rin(参数)
-r(递归) -i(不区分大小写) -n(显示行号)
dongfangedu@ubuntu:/opt$ grep "INCLUDE" ./ -rin
./tools.h:4:#include <stdio.h>
./main.c:1:#include <stdio.h>
./main.c:2:#include"tools.h"
./main.c:3:#include<string.h>
./tools.c:1:#include "tools.h"

3.locate

简化版的find。需要保证数据库中的内容是最新的

sudo updatadb   #更新数据库
locate /home/dongfangedu/test  搜索home/dongfangedu目录下的以test开头的文件。
locate passwd -n 5   只显示5条
dongfangedu@ubuntu:/opt$ locate passwd -n 5
/etc/passwd
/etc/passwd-
/etc/pam.d/chpasswd
/etc/pam.d/passwd
/etc/security/opasswd
locate passwd -i  不区分大小写

与locate相似的命令:whereis
whereis passwd
dongfangedu@ubuntu:/opt$ whereis passwd
passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man5/passwd.5.gz /usr/share/man/man1/passwd.1ssl.gz /usr/share/man/man1/passwd.1.gz
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值