• 2009-04-07

    linux命令中的locate - [Linux学习]

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://wanping.blogbus.com/logs/37583048.html

    今天在启动一个服务的时候,报一个动态库找不到,不明白是真的动态库没有了,还是程序的问题,怎么知道这个动态库到底存在不存在,同事告诉我用locate命令,查了下,命令是这样用: updatedb;locate *.so

    那么updatedb是什么意思?locate又是什么意思呢?网上搜了一把,原来是这样:

    linux下可以用locate   命令根据文件名查找文件所在的目录。比如locate   useradd就可以找出useradd这个命令所在的目录位置。   
         
    之所以能够找出来是因为linux有一个数据库存放各文件的目录。但这个数据库不是随时更新的。因此有updatedb命令来将这个数据库及时更新。那么就可以找到最新增加的文件了。

    把locate的具体命令及含义贴一下:

     

    Locate让使用者可以很快速的寻找系统内是否有指定的文件,其方法三先建立一个包括系统内所有文件名称和路径的资料库,之后当寻找时就只需查询这个资料库,而不必实际深入文件系统之中了。

    使用方法:

    Locate file_name

    参数:

    -u

    -U

    建立资料库,-u会由根目录开始,-U则可以指定开始的位置

    -e

    将排出在寻找的范围之外

    -l

    如果是l,则启动安全模式,在安全模式下,使用者不会看到权限无法看到的胆敢,这会使速度减慢,因为locate必须至实际的文件系统中取得文件的权限资料

    -f

    将特定的温年系统排除在外,如果我们没有道理把proc文中的文件放入资料库中

    -q

    安静模式,不会显示任何错误讯息。

    -n

    至多显示 个输出。

    -r

    使用正规运算式 做寻找的条件。

    -o

    指定资料库存的名称。

    -d

    指定资料库的路径

    -h

    显示辅助讯息

    -v

    显示更多的讯息

    -V

    显示程式的版本讯息 范例:

    locate chdrv : 寻找所有叫 chdrv 的档案

    locate -n 100 a.out : 寻找所有叫 a.out 的档案,但最多只显示 100

    locate -u : 建立资料库

     


    收藏到:Del.icio.us