美文网首页
Linux系列开坑记(四)-文件查找工具

Linux系列开坑记(四)-文件查找工具

作者: 彭涛聊Python | 来源:发表于2019-01-19 16:59 被阅读17次
    image

    日常开发工作中,我们经常会碰到有些配置文件或者日志文件找不到的情况,只记得基本的名字,记不得完整路径。为了更好查找到文件,今天我们就来聊下文件查找工具。

    关于文件查找工具,主要两个:

    1. locate 通过名字来进行文件查找,较快

    2. find 在目录搜索文件,较慢

    locate

    第一个我们要讲的就是locate,locate文件查找比较简单,并且速度很快。

    主要是因为它是直接搜索locatedb文件数据库,这个数据库主要是系统文件数据,它是由cron程序进行定期把文件更新的,通常是一天一次。在Linux有些发行版,如果locate不能工作,就是因为刚刚初始化系统导致locatedb没有数据。

    如果你要进行全盘搜索locate是比较方便快捷的快的,也是最简洁的。

    比如我要找我的 db.sqllite3 这个临时db文件。

    locate db.sqlite3

    [图片上传失败...(image-8bba54-1547888201688)]

    image

    find

    第二个就是我们的find,临时用一下locate还行,但是如果我们有稍微多一些需求就不太方便了。所以更强大的查找工具就是find了。

    find工具能够根据文件的各种属性来进行查找,非常有利于我们进行高级查询,功能强大,往往参数指令会多一些。

    为了简单,这里面我举几个简单而常用的例子。

    find . -name views.py # 在当前目录查找文件名为为views.py
    find ~ -size +5M -name ".jpg" # 在主目录查找大于10M的文件

    find . -type d | grep yourdir # 查找目录下的目录文件并且筛选*yourdir *

    find . -name ".BAK" -delete # 查找以BAK为结尾文件删除 删除前进行测试用 -delete替换为 -print 或者可以在git版本控制测试。

    find . -name "*.py" -exec ls -al "{}" ; # 当前目录查找所有py文件并且打印 -exec唤醒其他命令,-exec 后面跟命令 {}表示当前路径名符号表示,分号是强制要求界定命令结束。

    我通常比较喜欢用简单的方式,而不是更为高级的方式,通过cheat工具给一个其他案例,强烈推荐大家去了解一下cheat命令行帮助工具,对比man,info帮助工具,cheat非常方便日常学习使用。

    image

    上面其他案例中exec我已经讲了,awk文本处理工具后面我会单独讲也不啰嗦了。

    这里简单提一下xargs,它从标准输入接受输入,并把输入转换为特定命令的参数列表。可以说xargs是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具。

    image

    [图片上传失败...(image-71f55b-1547888201688)]

    通过find命令输入被管道到xargs命令,反过来xargs为ls命令构建参数列表,执行ls命令。

    关于文件查找locate,find 你学会了么?

    Linux日常命令使用,同Docker容器化一样我会以一个系列进行分享,今天是第四篇,后面我将持续分享更多内容,从Linux日常命令使用到shell脚本编程,欢迎持续进行关注。涛哥将会用最简单使用的方式分享开发技术的各个方面。

    image

    相关文章:

    Linux系列开坑记(三)-流处理器sed

    Linux系列开坑记(二)-神的编辑器Vim

    Linux系列开坑记(一)-常用的3个命令

    Python web开发从入门到放弃

    Docker容器化部署实践Docker Compose

    【私货】MongoDB 副本集的运维部署

    image

    相关文章

      网友评论

          本文标题:Linux系列开坑记(四)-文件查找工具

          本文链接:https://www.haomeiwen.com/subject/leszdqtx.html