linux文件搜索指令

来源:互联网 发布:怎样注册淘宝网店铺 编辑:程序博客网 时间:2024/05/29 15:15

文件搜索指令locate,find

命令搜索指令 whereis 与 which

字符串搜索指令grep

find命令与grep命令的区别



1.   locate   文件名

后台数据库中按文件名搜索,搜索速度更快,功能单一(但是效率很高)


是因为locate查询文件并不是遍历整个操作系统,而是从搜索后台文件数据库。


/var/lib/mlocate

#locate 命令搜索的后台数据库


linux数据库更新频率是每天一次,并不是实时更新的!

可以通过命令   updatedb      ----强制更新数据库



因为locate命令搜索指令遵循下面的配置文件


2.  命令搜索指令 whereis 和which

linux很有英语范



whereis  -b             ---- 只查找可执行文件

whereis  -m            ----只查看帮助文档

(whereis 只能用于查找系统命令)

which 和whereis 的区别是,它可以查看命令的别名


补充知识点:echo $PATH (环境变量配置)


3.功能强大的文件搜索命令  find

find  【搜索范围】【搜索条件】

    find  /  -name  install.log

find后面的文件名必须一摸一样,我们可以使用通配符模糊查询

通配符:  * 匹配任意内容

                ?匹配任意一个字符串

                 []匹配任意一个中括号内的字符

下面看练习:



find  /root  -iname  install.log          #不区分大小写

find  /root  -user  root                     #按所有者搜索

find  /root  -nouser                         #查找没有所有者的文件


注意:一般情况下linux的文件都是有所有者的,没有所有者的都是垃圾文件(文件是linux自己产生的)。在linux根目录下,sys和proc是linux内核交互的地方可能产生没有所有者的文件,其他地方碰到就手动删除。


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

-10 查找10天内修改的文件                                        atime   ----文件访问时间

10  10天当天修改的文件                                            ctime   ----改变文件属性

+10  10天前修改的文件                                              mtime  ----改变文件内容


find .  -size  25k                              #查找文件大小是25KB的文件

-25    ----小于25kb的文件

25    ----等于25kb

+25    ----大于25kb的文件


find  .   -inum  262422                  #查找i节点为262422的文件




  第二条语句实在第一条的基础之上,查看详细信息。

注意:只要看到-execl   后面就要加{} \;  这是格式。(ps:\和;之间要加空格!!!)

禽兽啊!!!不仅前面的空格不能丢,后面的还不能有空格。。。



4. 搜索字符串命令 grep

.  grep  【选项】  字符串   文件名

选项:     -i    忽略大小写

                -v   排除指定字符串




find命令与grep命令的区别:

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

grep命令:在文件中搜索符合条件的字符串,如果需要匹配则使用正则表达式匹配,正则表达式时包含匹配。


正则表达式,后续学习重点!

原创粉丝点击