程序员的知识教程库

网站首页 > 教程分享 正文

Linux常用查找文件方法总结

henian88 2025-04-29 00:34:18 教程分享 5 ℃ 0 评论

一、前言

Linux系统提供了多种查找文件的命令,而且每种查找命令都具有其独特的优势,下面详细总结一下常用的几个Linux查找命令。

二、which命令

  • 查找类型:二进制文件;
  • 检索范围:PATH环境变量里面指定的路径中查找;

通过which命令可以快速返回某个指定命令的位置信息。

  • 优点:查找速度快;
  • 缺点:仅支持二进制文件;

三、whereis命令

  • 查找类型:二进制文件,man帮助文件,及源代码文件;
  • 检索范围:/usr目录

通过whereis命令可以快速返回某个指定命令的位置信息,及其man文件和源代码文件的位置信息(如果存在的话)。

当然也可以通过参数指定返回某一类查找结果:

  • -b 仅查找二进制文件;
  • -m 仅查找man帮助文件;
  • -s 仅查找源代码文件;
  • 优点:查找速度快;
  • 缺点:查找文件类型及范围均有限;

四、locate命令

  • 查找类型:所有文件;
  • 检索范围:locatedb数据库;

locate是Linux系统提供的一种快速检索全局文件的系统命令,它并不是真的去检索所以系统目录,而是检索一个数据库文件locatedb(Ubuntu系统位置
/var/cache/locate/locatedb),该数据库文件包含了系统所有文件的路径索引信息,所以查找速度很快。

Linux系统自动创建这个数据库,并且每天自动更新一次,所以对于新变动的文件(如新安装或新拷贝)使用locate命令是查不到的。为了避免这种情况,可以在使用locate命令之前,先执行一下"sudo updatedb"命令来手动更新数据库。

  • 优点:查找速度快,且支持所有文件类型;
  • 缺点:不支持新变动的文件检索,需要手动更新数据库;

五、find命令

  • 查找类型:所有文件;
  • 检索范围:指定路径;

find命令是Linux最强大的查找命令,参数多,用法丰富,下面演示一些常用的搜索方法。

基本用法:$ find <检索路径> <选项> <搜索内容>

可以指定完整的文件名称,也可以使用通配符进行模糊查找。

可以指定文件类型进行查找:

  • -type d 查找目录;
  • -type f 查找普通文件;
  • -type l 查找软链接文件;

还有最强大的组合命令用法,比如将find+xargs+grep组合检索返回的文件是否包含指定字符串;find+xargs+cp组合将返回结果拷贝到指定目录下;

上面命令中的"-i"与"{}"是配套使用的,"-i"表示将前面find命令的标准输出作为参数传递给"{}";而"{}"作为后面cp命令的第一个参数。

  • 优点:功能强大,且支持组合命令;
  • 缺点:如果指定的检索路径层级复杂,则检索速度较慢。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表