防止自己遗忘:Linux里和查找相关的命令

本文详细介绍了Linux系统中的四种查找命令:locate、whereis、which和find,重点讲解了它们的功能、用法和适用场景,强调了find命令的强大搜索能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

Linux 有四个常用的查找命令:locatewhereiswhich 和 find

本人最常用第四个,每次想用时都需要新学,这次大致码好后以绝后患。下面将依次介绍:

locate命令

这个命令将遍历整个文件系统找到该关键词的每一次出现位置,所以结果繁多

 locate keyword

locate 使用的数据库通常每天更新一次,所以如果在搜索最近创建的东西,它可能不会在搜索中返回,可以使用updatedb命令手动更新locate命令的数据库

whereis命令

在Linux中,可执行文件被称为二进制文件,如果想定位一个二进制文件,whereislocate更加有效

whereis binary

这个命令将返回二进制文件的位置,以及它的源代码和手册页,如果有的话

which命令

Linux中的PATH变量存放着操作系统,寻找在命令行中执行的命令的目录

which binary

which命令在PATH中找到一个二进制文件。如果在当前PATH中没有找到该二进制文件,它就什么也不返回

 这些目录通常包括/usr/bin,但也可能包括/usr/sbin和其他一些目录。

find命令

最强大的搜索命令是find命令,可以用它在任何指定的目录中搜索,并使用各种参数。

精确查找

基本语法是:

find directory options expression

假设有一个名为test.txt的文件,现在需要找到它但是不确定具体位于哪个目录下,则可以执行下面的命令,从文件系统的顶部/开始搜索:

find / -type f -name test.txt

具体含义为:

  • /表示从文件系统的顶部开始搜索

  • -type 是要寻找的东西的类型。f表示文件,b表示块状特殊设备文件,c表示字符特殊设备文件,d表示目录,l表示符号链接(这里如果不确定文件类型,不写也没关系

  • -name是要寻找的东西的名字,结果将完全匹配

这里会搜索每一个目录,并从其顶部开始查找,需要花费一定的时间(假设知道该文件位于某个目录下,可以通过指定目录来加快速度):

 time find /某个目录的地址 -type f -name test.txt

这里使用了time命令,可以看到每个命令花费了多少时间

模糊查找

可以通过使用通配符来实现(匹配多个字符),并有几种不同的形式。

这里假设有一个包含cat、hat、what和bat文件的目录:

  • * 匹配多个字符。*at 将会匹配:cat、hat、what、和 bat

  • ? 匹配单个字符。?at 将会匹配:cat、hat、bat,但不匹配what

  • [] 匹配出现在方括号内的字符。[c, b]at将会匹配cat和bat。

 find /某个目录的地址 -type f -name test.*

我常用的查找格式: find 指定起始目录 查找条件 操作

find /home/账号名 -iname ***.***  (精确查***.***文件)

find /home/账号名 -type f | grep "/\\."  (查找所有隐藏文件)

find /home/账号名 -name 123.***  (精确查找带123的文件,任意格式均可)

学习了很多遍后,好记性不如烂笔头。特别感谢:Linux系列之查找命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值