• Linux 查找文件(find命令/locate命令)


    目录

    一、find——我的东西在哪?

    二、更快速地定位文件——locate命令


    一、find——我的东西在哪?

    随着文件增多,我们有时候记住某个文件放在哪个文件夹下了,此时搜索工具显得非常有用了,而find就是这样一个命令,可以帮助我们在指定范围内查找到文件。其基本语法如下:

    find 【option】【path】【expression】

    例如:希望在/usr/bin/目录下查找zip文件:

    find  /usr/bin/ -name zip -print

    从上面的例子我们可以看出以下三点:

    find命令需要一个路径作为查找的范围,所以要查找整个文件系统的话,直接指定“/”即可。

    -print表示将结果输出标准输出也就是我们看到的屏幕上。

    -name选项指定了文件名,可以结合通配符使用,比如-name *.c就是列出该目录下的所有c程序文件。-name的还可以换成其他参数,如下:

    示例1 将当前目录及其子目录下所有最近 20 天内更新过的文件列出:

    # find . -ctime  20 -print 

    示例2:如果出现权限不够,find前面加个sudo就可以了 

    如下就看到文件在哪里了: 

    find命令还可以指定文件的类型,在linux中,包括目录和设备都以文件的形式表现,可以使用-type选项来定位特殊的文件类型。例如在/etc/目录中查找名叫init.d的目录:

    find /etc/ -name init.d -type d -print

    -type后可跟的参数如下:

    b块设备文件
    d目录文件
    c字符设备文件
    f普通文件
    p命名管道
    l符号链接
    ssocket

     

    二、更快速地定位文件——locate命令

    尽管find命令已经展现了其强大的搜索能力,但对于大批量的搜索而言,还是显得慢一些,特别是当用户完全不记得自己的文件放在哪里的时候。这时locate命令是个不错的选择,示例:

    locate *.ini或者locate 文件名 

    搜索结果非常快。

    locate工作原理:locate并没有进入到子目录搜索,而是通过检索文件名数据库来确定文件的位置。locate命令自动建立整个文件名数据库,不需要用户插手。

    如果希望立刻生成该数据库文件的最新版本,那么可以使用updatedb命令,大概耗时一分钟左右,但是我感觉我的好像一分钟都没有,需要sudo权限 

  • 相关阅读:
    serial库常见用法
    疯狂小杨哥有意退网
    网络应用层之(1)DHCPv6协议
    B F C
    Sendmail 设置 SMTP主机
    div+css布局实现个人网页设计(HTML期末作业)
    独立站FP收款黑科技来啦!再也不用担心账户被封了~
    .NET Core使用 CancellationToken 取消API请求
    DE算法简介
    python 多项式回归以及可视化
  • 原文地址:https://blog.csdn.net/ligare/article/details/126266473