zoukankan      html  css  js  c++  java
  • Linux文件查找

    文章结构如下

    • locate命令
    • whereis命令
    • which命令
    • find命令

    特殊环境变量——PATH

    PATH 下存放着命令的所有路径,执行命令的时候会先在 PATH 变量中从前到后挨个路径查找,每个路径之间使用冒号分隔。使用如下命令可查看 PATH 路径。

    echo $PATH
    

    1. locate命令

    locate 命令不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件的信息。Linux系统自动创建这个数据库,并且每天自动更新一次。要查找最新变动的文件,可以使用 updatedb命令手动更新。

    # 搜索etc目录下所有以sh开头的文件
    locate /etc/sh
    
    # 搜索用户主目录下所有以m开头的文件
    locate ~/m
    
    # 搜索用户主目录下所有以m开头的文件,忽略大小写
    locate -i ~/m
    

    2. whereis命令

    whereis 命令只能用于程序名的搜索,而且只搜索二进制文件(参数 -b),man说明文件(参数 -m)和源代码文件(参数 -s)。如果省略参数,则返回所有信息。

    whereis grep
    

    3.which命令

    which命令的作用是在PATH变量指定的路径中,搜索某个系统命令的位置,并返回第一个搜索结果。使用which命令,可以查看某个系统命令是否存在,以及执行的到底是哪一个位置的命令

    which grep
    

    4.find命令

    find命令是最常见和最强大的查找命令。使用格式如下:

    find <指定目录> <指定条件> <指定动作>

    • <指定目录>: 所要搜索的目录及其所有子目录。默认为当前目录
    • <指定条件>: 所要搜索的文件的特征
    • <指定动作>: 对搜索结果进行特定的处理

    如果什么参数都不加,find默认搜索当前目录及其子目录,并且不过滤任何结果,返回所有文件。

    # 搜索当前目录下所有文件名以my开头的文件
    find . -name 'my*'
    
    # 搜索当前目录下所有文件名以my开头的文件,并显示它们的详细信息
    find . -name 'my*' -ls
    
    # 搜索当前目录中过去10分钟内更新过的普通文件
    find . -type f -mmin -10
    

    其中 find 命令是最慢的,它从硬盘中查找,但它的功能是最强大的。

  • 相关阅读:
    DecimalFormat
    flex 分页
    flex 分页
    算法学习——st表
    [USACO07DEC]美食的食草动物Gourmet Grazers
    [ZJOI2005]沼泽鳄鱼 矩阵乘法
    [SCOI2010]序列操作 线段树
    [LNOI2014]LCA
    [AHOI2013]作业 & Gty的二逼妹子序列 莫队
    Linux相关——关于文件调用
  • 原文地址:https://www.cnblogs.com/augustine0654/p/15410854.html
Copyright © 2011-2022 走看看