(给Linux爱好者加星标,提升Linux技能)

转自:良许Linux

在系统里查找文件,是所有工程师都必备的技能(不管你用的是 Windows 、Linux、还是 MacOS 系统)。对于 Linux 操作系统,单单一个 find 命令就可以完成非常多的搜索工作。

但是,文件搜索命令远不止一个 find 命令,还有很多。本文就对 Linux 下文件搜索命令进行一个科普,让你能够在短时间内找到自己需要的文件。

  1. find  

find 命令应该是最经典的命令了,谈到搜索工具第一个想到的肯定是 find 命令。但是,find 命令非常强大,想要把它的功能都介绍一遍,恐怕要写好几篇文章。

所以,这里就偷个懒,介绍最基本的,根据文件名查找文件的方法。假如我们想搜索当前目录(及其子目录)下所有 .sh 文件,可以这样搜索:


  2. locate  

locate 是另外一个根据文件名来搜索文件的命令。区别于 find 命令,locate 命令无需指定路径,直接搜索即可。

这个命令不是直接去系统的各个角落搜索文件,而是在一个叫 mlocate.db 的数据库下搜索。这个数据库位于 /var/lib/mlocate/mlocate.db ,它包含了系统里所有文件的索引,并且会在每天早上的时候由 cron 工具自动更新一次。

正因为如此,locate 的搜索速度远快于 find 命令,因为它直接在数据库里检索,速度自然更快。

locate 命令在找到文件之后,将直接显示该文件的绝对路径,比如:


但是 locate 命令有个弊端,它无法搜索当天所创建的文件,因为它的数据库一天只在早上更新一次。比如我现在创建一个新文件,locate 没办法搜索到:


为了解决这个问题,我们可以使用 updatedb 命令手动去更新它的数据库:

$ sudo updadb

然后,我们就可以搜索到新文件了。


  3. which  

which 命令主要用来查找可执行文件的位置,它搜索的位置指定在 $PATH 及 $MANPATH 环境变量下的值,默认情况下,which 命令将显示可执行文件的第一个存储位置:


如果某个可执行文件存储在多个位置,可以使用 -a 选项列出所有的位置。

如果你想一次性查找多个文件,可以直接跟在 which 命令后面即可。


 4. whereis  

whereis 命令会在系统默认安装目录(一般是有root权限时默认安装的软件)查找二进制文件、源码、文档中包含给定查询关键词的文件。(默认目录有 /bin/sbin/usr/bin/usr/lib/usr/local/man等类似路径)。

一般包含以下三部分内容:

  • 二进制文件的路径

  • 二进制文件的源码路径

  • 对应 man 文件的路径

比如我们现在搜索 ls 命令:


我们可以使用 -b 选项来只搜索可执行文件所在位置,使用 -B 选项指定搜索位置,使用 -f 选项列出文件的信息。


同样地,我们可以使用 -s 限定只搜索源码路径,使用 -m 搜索 man page 路径,使用 -s 指定搜索源代码文件的路径,使用 -M 指定搜索帮助文件的路径。

- EOF -

推荐阅读  点击标题可跳转

1、在 Linux 上分析二进制文件的 10 种方法

2、Windows 中现在有独立的 Linux 文件夹系统

3、Linux 的 exFAT 文件系统驱动程序即将迎来更新

看完本文有收获?请分享给更多人

关注「Linux 爱好者」加星标,提升Linux技能

好文章,我在看❤️

find 命令_除了 find,还有这些文件查找命令相关推荐

  1. Linux 命令(一) findgrep文件查找命令

    Linux 命令(一) find&grep文件查找命令 查找命令:find & grep 区别:(1) find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为 ...

  2. Linux 执行文件查找命令 which 详解

    某个文件不知道放在哪里了,通常可以使用下面的一些命令来查找: which  查看可执行文件的位置 whereis 查看文件的位置 locate   配合数据库查看文件位置 find   实际搜寻硬盘查 ...

  3. linux j查找文件位置,Linux下的文件查找命令——find

    Linux下几个常见的文件查找命令: which       查看可执行文件的位置 whereis    寻找特定文件,查看文件的位置 locate       配合数据库查看文件位置 find    ...

  4. (转载)linux下的find文件查找命令与grep文件内容查找命令

    linux下的find文件查找命令与grep文件内容查找命令 转载于和感谢:linux下的find文件查找命令与grep文件内容查找命令 目录 1.前言 1.1 find命令和grep命令的区别 2. ...

  5. Linux文件查找命令find,xargs详述

    Linux文件查找命令find,xargs详述 总结:zhy2111314 来自:LinuxSir.Org 整理:北南南北 摘要: 本文是find 命令的详细说明,可贵的是针对参数举了很多的实例,大量 ...

  6. linux进入文件全文搜索命令,Linux 文件查找命令详解

    大家好,我是"孤云幕雨":祝大家中秋快乐,今天给大家带来的是<Linux文件查找命令> 一.locate:依赖于事先构建的索引 v依赖于事先构建的索引:索引的构建是在系 ...

  7. linux 遍历目录查找文件find太慢,Linux下比find快N倍的文件查找命令

    使用linux操作系统的人,一般都用过文件查找命令find,在文件数量非常庞大的时候,比如在高通的android工程项目中,目录大小有十几个G,文件数量非常多,用find命令就太慢了. 下面介绍一个比 ...

  8. 文件查找命令 locate 和 find 详解

    文件查找命令 locate 1.locate 简介 2.locate 命令格式 find 1.find 简介 2.语法格式 2.1 查找条件 2.1.1 根据文件名查找 2.1.2 根据文件从属关系查 ...

  9. linux wget 命令_在Linux中如何使用wget命令?

    linux wget 命令 In this tutorial, let's learn how to download a file using the wget command in Linux. ...

  10. Linux下,文件查找命令which,whereis,find,别名命令alias,统计命令wc

    Linux下,文件查找命令which,whereis,find,别名命令alias,统计命令wc O.简要 1.Linux系统中查找文件比较常用的命令就是which,whereis,find,最常用的 ...

最新文章

  1. idea中链接mysql查询_在Idea中编写Java程序连接查询Sqlite数据库
  2. 第十八章 20结构体与string
  3. 插入排序法算长度为10的数组
  4. Coder-Strike 2014 - Finals (online edition, Div. 2) A. Pasha and Hamsters
  5. Android 开发 存储目录的详解
  6. Windows2003开机后进不了系统
  7. ping,python实现批量ping包工具--小案例v5阶段版本,可以使用了
  8. bzoj4200: [Noi2015]小园丁与老司机(可行流+dp)
  9. matlab huffman树,Huffman树图像加密算法
  10. Head first jQuery读书笔记
  11. python新打包工具,最好用的版本之一,不接受反驳
  12. VS Code实现python代码语法检查、格式规范化、自动换行字数限制
  13. python机器学习快速入门
  14. 同事之间都有哪些潜规则?
  15. 游戏开发者必须是骨灰级玩家吗?
  16. 百度地图java计算2个坐标建距离_Java开发之百度地图2 :计算两地之间的距离
  17. 如何从R和Gmail发送电子邮件
  18. ---Ubuntu触摸板驱动程序!
  19. 74HC123D 引脚介绍及应用
  20. 鸿蒙OS 2.0 开源网址 源码仓库

热门文章

  1. BZOJ5466 NOIP2018保卫王国(倍增+树形dp)
  2. vue路由异步组件案例
  3. win7双系统安装openSUSE13.2解决【引导加载器安装期间出错】问题
  4. python颜色识别算法_纯Python编写K-means算法,提取图片中的主体颜色
  5. 第一次当项目经理压力大_项目经理不想被甩锅,你要这样做进度管理
  6. Error: Cannot find module ‘node-sass‘---Node-sass下载
  7. Python编写只允许实例化一个对象的类
  8. 格兰杰因果关系检验r语言_R语言 t检验t.test
  9. linux 多线程 多进程 利用率,多进程与多线程的深度比较
  10. mysql hive 安装 配置_hive 安装配置部署与测试