美文网首页程序员
Linux基础(2)—— Linux常用的查询命令

Linux基础(2)—— Linux常用的查询命令

作者: 黄宝玲_1003 | 来源:发表于2018-12-25 09:57 被阅读14次

    不知你们是否经常遇到这种情况,跑了一个进程或docker容器,想知道输出问件在哪,试了which指令和whereis指令都没用,所以我决定看看这几种指令有什么差别。

    1、which(查看可执行文件的位置)

    2、whereis(查看文件的位置)

    whereis命令只能用于程序名的搜索,并且只搜索二进制文件 (参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。

    和find相比,whereis查找的速度非常快,这是因为linux系统会将系统内的所有文件都记录在一个数据库文件中,当使用 whereis和下面即将介绍的locate时,会从数据库中查找数据, 而不是像find命令那样,通过遍历硬盘来查找,效率自然会很高。
    但是该数据库文件并不是实时更新,默认情况下时每星期更新一次,因此,我们在用 whereis 或 locate 查找文件时,有时会找到已经被删除的数据,或者刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。

    locate指令我不常用,就不介绍了,重点介绍find指令。前面几种不记得也没关系,用find指令可以得到相同的结果,只是效率更低,得到的返回条数更多。

    3、find(实际搜寻硬盘查询文件名称)

    查找文件或文件夹的位置

    # 查找文件名为hbl_data1的绝对路径
    find / -name hbl_data1  # 在整个ROOT目录下查找文件,也就是在整个硬盘上查找文件,查找速度较慢
    find /var -name hbl_data1 
    find /var/lib -name hbl_data1 
    # 都能得到结果/var/lib/docker/volumes/hbl_data2
    

    如果输入以上查找命令后系统并没有显示出结果,不要以为系统没有执行find / -name hbl_data1命令,而可能是你的系统中没有安装Apache服务器,这时只要你安装了ApacheWeb服务器,然后再使用find / -name httpd.conf就能找到这个文件了。

    下面是一些不常用的指令

    find / -size 1500c  # 查找在系统中大小为1500bytes的文件
    find / -amin -10    # 查找在系统中最后10分钟访问的文件 
    find / -atime -2    # 查找在系统中最后48小时访问的文件 
    find / -empty       # 查找在系统中为空的文件或者文件夹 
    find / -group cat   # 查找在系统中属于groupcat的文件 
    find / -mmin -5     # 查找在系统中最后5分钟里修改过的文件 
    find / -mtime -1    # 查找在系统中最后24小时里修改过的文件 
    find / -nouser      # 查找在系统中属于作废用户的文件 
    find / -user fred   # 查找在系统中属于FRED这个用户的文件 
    

    相关文章

      网友评论

        本文标题:Linux基础(2)—— Linux常用的查询命令

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