由于工作的需要,少不得要在linux系统上查找各种各样的文件,关于在linux查找的命令有不少,这里小小的总结下。
简单介绍下各个命令的用途:

  • find:实际搜索硬盘查询文件名称;
  • whereis:查看文件的位置;
  • which:查找和可执行文件的位置;
  • locate:配合数据库查找文件的位置;

1.find命令

这个命令通过实际搜索硬盘查询文件名称,一般最好能确定文件存在的最小范围,尽量缩小搜索的范围,因为实际搜索硬盘很花时间,尤其是硬盘很大,文件很多的时候。

经常和grep命令一起搜索含有某个字符串的文件,例如:

find  /dir  -name "*.sh" | grep "abc"  

网上有一篇文章讲的很好,引在这里,以方便查阅:
http://www.cnblogs.com/wanqieddy/archive/2011/06/09/2076785.html

感谢这篇文章的作者wanqi。


2.whereis命令

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

和find相比,whereis查找的速度非常快,这是因为linux系统会将系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通 过遍历硬盘来查找,效率自然会很高。

但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用whereis和locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。

同样引用一篇文章:http://codingstandards.iteye.com/blog/986891


3.which命令

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

引一篇参考文章:http://www.cnblogs.com/peida/archive/2012/11/08/2759805.html

感谢文章的作者peida。


4.locate命令

locate命令其实是“find -name”的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。

也引一篇文章吧:http://www.cnblogs.com/peida/archive/2012/11/12/2765750.html

感谢文章的作者peida。


因此本篇文章并不算原创,只是对网上知识的整理以方便查阅。感谢所有乐于分享的各位~

转载于:https://www.cnblogs.com/flying-tiger/p/5947471.html

linux上的那些查找的命令相关推荐

  1. linux没有jre文件夹,linux上配置jdk时,java命令提示没有此文件或文件夹的解决方法...

    linux上配置jdk时,java命令提示没有此文件或文件夹的解决方法 出现这个问题可能有以下几种原因: 1.对该文件没有执行的权限. 2.我们的机器是64位的,而下载的jdk是32位的. 我就是后一 ...

  2. Java:Linux上java -jar xxx.jar命令执行jar包时出现Error: Invalid or corrupt jarfile xxx.jar解决方案

    Java:Linux上java -jar xxx.jar命令执行jar包时出现Error: Invalid or corrupt jarfile xxx.jar解决方案 参考文章: (1)Java:L ...

  3. linux sftp怎样支持通配符,linux上的sftp与scp命令

    linux下的sftp与scp命令 第一个(sftp安全文件传输)是一个类ftp的客户端程序,它能够被用来在网络中传输文件.它并不使用FTP守护进程(ftpd或wu-ftpd)来进行连接,而是有意义地 ...

  4. linux服务器 图片压缩,Pngquant:Linux上压缩PNG图像的命令行实用工具

    [51CTO.com快译]Pngquant是一款免费开源的跨平台命令行有损PNG压缩工具.它基于可移植的libimagequant库,用C99编写.可通过将PNG图像转换成更高效的8位PNG格式来显著 ...

  5. linux上创建一文件夹命令,linux创建文件夹命令是什么

    linux创建文件夹命令是mkdir,语法为[mkdir (选项)(参数)],其中Z为设置安全上下文,当使用SELinux时有效,version显示版本信息. 本文操作环境:linux2.6.32系统 ...

  6. [Linux]根据条件或查找日志命令cat,tail,vim,grep

    根据条件或查找日志命令cat,tail,vim,grep 实时查看日志 根据条件全文搜索 cat vim 实时查看日志 tail -f boot.log 根据条件全文搜索 cat 关键词高亮显示 ca ...

  7. linux 解压所有以zip结尾的文件_在 Linux 上压缩文件:zip 命令的各种变体及用法...

    除了压缩和解压缩文件外,你还可以使用 zip 命令执行许多有趣的操作.这是一些其他的 zip 选项以及它们如何提供帮助. -- Sandra Henry-stocker(作者) 为了节省一些磁盘空间并 ...

  8. linux 上plsql命令_在 Linux 上压缩文件:zip 命令的各种变体及用法 | Linux 中国

    除了压缩和解压缩文件外,你还可以使用 zip 命令执行许多有趣的操作.这是一些其他的 zip 选项以及它们如何提供帮助.-- Sandra Henry-stocker 为了节省一些磁盘空间并将文件打包 ...

  9. tomcat 在linux上的重启和关闭命令

    Antony 好记性不如烂笔头,人生在勤,不索何获!   博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅  :: 管理 ::     24 随笔 :: 4 文章 :: ...

最新文章

  1. LTE-怎么获取上行资源
  2. 《Windows核心编程(第5版•英文版)》暨《深入理解.NET(第2版•英文版)》有奖书评/读书笔记征集活动
  3. cordova开发插件,并在android studio中开发、调试
  4. 超酷的实时颜色数据跟踪javascript类库 - Tracking.js
  5. 反向传播BP 算法之一种直观的解释
  6. [CF475E]Strongly Connected City 2
  7. STL::map默认会按照.first的字母顺序排列
  8. 海量结构化数据解决方案-表格存储场景解读
  9. Git 查看帮助命令
  10. 深度学习——loss函数的学习笔记(legacy)
  11. RHEL 7.6 安装 Oracle 18c RAC
  12. 怀旧服最新开的服务器是哪个,魔兽世界怀旧服什么时候开服 魔兽世界怀旧服开服时间介绍...
  13. 了解人工智能与智能系统中的先驱人物
  14. java 微信 图灵机器人_使用图灵api创建微信聊天机器人
  15. 其他干货——文章投稿之图片格式-位图vs.矢量图
  16. 蓝阔无线打印服务器怎么连接5g,TP-Link TL-WDR7500路由器5G无线WDS桥接设置
  17. 深度思维(逻辑链的延长)
  18. 动态规划之《高楼扔鸡蛋》问题详解 LeetCode 887.鸡蛋掉落
  19. 【ICPC-369】uva 12096 The SetStack Computer
  20. java vim编辑器的基本使用_vim编辑器之神的高效率使用

热门文章

  1. python输入n×n的矩阵0和1_关于Python数组和矩阵的用法X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]...
  2. 差分放大电路单端输出和双端输出区别以及应用(转载)
  3. Qt的简单介绍,发展和由来
  4. hdu 5785 Interesting(manacher+前缀和)
  5. jmeter监控服务资源
  6. JS~~~ 前端开发一些常用技巧 模块化结构 命名空间处理 奇技淫巧!!!!!!...
  7. linux 新建用户、用户组 以及为新用户分配权限
  8. sqlserver关键字
  9. 微软游戏开发工具XNA 2.0[转自驱动之家]
  10. linux dialog 源码,Linux dialog详解(图形化shell)