• CentOS6.5菜鸟之旅:关于搜索的shell命令


    一、locate命令                          

      用于模糊搜索文件(目录)的绝对路径。

       示例1:

    // 凡是绝对路径当中含jdk字符串的文件(目录)均被搜索出来
    fsjohnhuang@fsjohnhuang~# locate jdk

       示例2:

    // 在家目录添加文件mytest.md
    fsjohnhuang@fsjohnhuang~# touch mytest.md
    fsjohnhuang@fsjohnhuang~# locate mytest

        上述例子再添加mytest.md后马上通过locate搜索mytest的绝对路径,但什么都搜不到。那是因为locate命令是从系统db中搜索的,而这个系统db是定时在晚上与文件系统的目录结构同步,因此刚才添加文件信息无法通过locate搜索出来。这也是locate的速度必find高的原因。我们可以通过 sudo updatedb 命令手动方式同步系统db,现在就可以通过locate来搜索了。

      示例3:

    // 精确查找文件(目录),那么就只有文件或目录名为jdk才匹配成功
    locate -b "jdk"
    // 精确查找文件(目录),那么就只有文件或目录名含jdk才匹配成功
    locate -b "jdk"

    二、find命令                          

        用于在特定目录(默认是当前目录)下根据文件名称、文件类型等信息搜索文件相对特定目录的相对路径。

    // 在当前目录下搜索
    find -name "mytest.md"
    // 使用通配符
    find -name "mytest*"
    
    // 在特定目录下搜索
    find /home/fsjohnhuang
    
    // 仅列出普通文件
    find -type f
    // 仅列出目录
    find -type d
     
    // 对find搜索出来的文件或目录执行其他命令
    // -exec 其他命令 ';'
    // 而'{}'就是代表find搜索出来的文件或目录
    find -exec ls -l '{}' ';'

    三、grep命令                           

      在文本字符串当中查找。

    // 基本格式:grep 字符串 文件名
    grep hello a.txt
    
    // 不区分大小写
    grep -i hello a.txt
    
    // 显示行号
    grep -n hello a.txt

    假如是对代码搜索则可以使用ack-grep,具体教程请看happycasts.net。

    四、 which命令                          

      用于搜索命令的可执行文件所在位置。

      如 which cat 将返回/bin/cat

    五、 whereis命令                          

      用于搜索命令的可执行文件、源码文件和man文件所在位置。

      如 which cat 将返回cat: /bin/ls /usr/share/man/man1/ls.1.gz /usr/    share/man/man1p/ls.1p.gz

      尊重原创,转载请注明来自:http://www.cnblogs.com/fsjohnhuang/p/3997211.html ^_^肥仔John

  • 相关阅读:
    Linux Shell编程(3)——运行shell脚本
    Linux Shell编程(2)——第一个shell程序
    Linux Shell编程(1)——shell编程简介
    做“程序员”,不做“码农”,有哪些好办法?
    玩转大数据,顺利渡过34岁裁退危机!
    Google IO 2017为我们带来了什么
    《经验之谈》想要做好SEO推广必知要事,峰任策划告诉您。
    5月17日云栖精选夜读:分布式大数据系统巧实现,全局数据调度管理不再难
    程序员转型发展:拆除这些墙,才会发现更蓝的天空
    敢问路在何方?程序员转行应该卖水果还是卖烧饼
  • 原文地址:https://www.cnblogs.com/fsjohnhuang/p/3997211.html
Copyright © 2020-2023  润新知