① find 根据文件名查找文件
搜索当前目录(及其子目录)下所有 .tar 文件
find . -name "*.tar"
② locate 根据文件名来搜索文件
区别于 find 命令,locate 命令无需指定路径,直接搜索即可。
locate 命令不是直接去系统的各个角落搜索文件,而是在一个叫 mlocate.db 的数据库下搜索。这个数据库位于 /var/lib/mlocate/mlocate.db ,它包含了系统里所有文件的索引,并且会在每天早上的时候由 cron 工具自动更新一次。
locate 的搜索速度远快于 find 命令,直接在数据库里检索。
locate 命令在找到文件之后,将直接显示该文件的绝对路径,比如:
locate nodejs.tar
/home/zhai/nodejs.tar
locate 命令有个弊端,它无法搜索当天所创建的文件,因为它的数据库一天只在早上更新一次。比如现在创建一个新文件,locate 没办法搜索到。 解决这个问题,可以使用 updatedb 命令手动去更新它的数据库:
sudo updatedb
③ which 主要用来查找可执行文件的位置
which 命令主要用来查找可执行文件的位置,搜索的位置指定在 $PATH 及 $MANPATH 环境变量下的值,默认情况下,which 命令将显示可执行文件的第一个存储位置:
which python
如果某个可执行文件存储在多个位置,可以使用 -a 选项列出所有的位置。
如果想一次性查找多个文件,可以直接跟在 which 命令后面即可。
④ whereis 用于命令地址的搜索
whereis 命令会在系统默认安装目录(一般是有root权限时默认安装的软件)查找二进制文件、源码、文档中包含给定查询关键词的文件。(默认目录有 /bin, /sbin, /usr/bin, /usr/lib, /usr/local/man等类似路径)。
whereis python
# 显示命令所在的地址
本文介绍Linux下find、locate、which和whereis四个命令的使用方法,涵盖了如何根据文件名、可执行文件位置和命令地址进行高效搜索。通过这些命令,用户可以快速定位系统中的文件和命令,提高工作效率。

525

被折叠的 条评论
为什么被折叠?



