Linux查找命令@which、find的使用方式

 更新时间:2025年06月03日 16:42:54   作者:Blue_o-o  
这篇文章主要介绍了Linux查找命令@which、find的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

which概念

which 是一个常用的 Linux/Unix 命令,用于查找并显示指定命令的绝对路径。

语法

which 要查找的命令

  • 无参数。
  • which后面,跟要查找绝对路径的命令。

作用

对于初学Linux操作系统的同学,有没有这么一个疑问?

  • 问题一:我们学习的关于Linux的基础指令,指令自身是个什么?
  • 问题二:为什么在终端中,输入指令便能让操作系统执行相应的动作?
  • 回答一:其实我们学习的关于Linux的基础指令,其实自身就是一个二进制可执行的程序文件。
  • 回答二:当在终端中,输入特定的指令时,操作系统便会通过该指令所在的路径,寻找过去找到该指令的二进制可执行的程序文件,然后调用执行程序。

操作系统是如何知道指令的绝对路径,从而找过去的,这里先不过多讲解。但是同学们会不会很好奇这些指令的绝对路径究竟是什么?我们怎样才能获取这些指令的绝对路径呢?接下来要讲解的指令 which 的便起到该作用了。

如下:

通过which指令,在终端上显示了前面所学cd 、 pwd 、 touch 、 mkdir 、 cp 、 mv可执行二进制指令文件的绝对路径。

以上便是对于which指令的学习与运用的大体介绍。

find概念

find指令用于在文件系统中搜索并匹配符合指定条件的文件或目录。

语法按文件名查找

find 起始路径 -name “被查找的文件名”

  • 始路径:从哪个路径开始查询。
  • -name: 表示以文件名称作为搜索依据
  • 被查找的文件名” : 表示要搜索的文件的名称。

按文件大小查找

find 起始路径 -size +/-n[kMG]

  • 起始路径:从哪个路径开始查询。
  • -size:表示以文件大小作为搜索依据。
  • +: 表示大于
  • - : 表示小于
  • n:表示数字,中括号[ ] 里面的kMG为单位

作用

首先,对徐搜索文件这一行为,因为要涉及到系统内的文件,因为存在权限的问题。

为了方便演示,下面切换到具有最高权限的root用户。

具体发送 “su - root” 指令,然后输入用户密码,即可成功切换到root用户权限。如下:

演示一

以上演示的指令为 “ find / -name “test””。效果为:

从根目录 / 开始,搜索文件名为“ find ” 的文件。

演示二

以上演示的指令为 “ find / -size +100M。效果为:

从根目录 / 开始,搜索文件大小大于100M的文件。

为了验证搜索出来的文件是否如我们所要求的一样。我们对其中的一个文件进行查看,如下的绿色方框所示:

验证结果显示,搜索出来的文件确实满足文件大小大于100M的要求。

演示三

以上演示的指令为 “ find / -size +1G。效果为:

从根目录 / 开始,搜索文件大小大于1G的文件。

同时将搜索的文件,的详细信息展开,信息大小验证符合搜索要求。

通配符

注意:find指令还可以结合通配符。

被查找文件名,支持使用通配符 * 来做模糊查询。 

  • 符号* 表示通配符,即匹配任意内容(包含空),示例: 
  • test*,表示匹配任何以test开头的内容 
  • *test,表示匹配任何以test结尾的内容 
  • *test*,表示匹配任何包含test的内容

基于通配符的含义,可以结合find命令做文件的模糊查询。

关于通配符的find相关指令,这里就不多加演示了,有兴趣的同学可以自行实验。

总结

1、which命令

  • 查找命令的程序文件
  • 语法:which 要查找的命令
  • 无需选项,只需要参数表示查找哪个命令

2、find命令

  • 用于查找指定的文件
  • 按文件名查找: find 起始路径 -name “被查找的文件名”
  • 按文件大小查找: find 起始路径 -size +/-n[kMG] 

注:find命令支持通配符

为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 让Apache支持Rewrite静态页面重写的方法

    让Apache支持Rewrite静态页面重写的方法

    Apache下Rewrite静态页面重写的方法,需要的朋友可以参考下。
    2010-07-07
  • Linux环境下部署Kubernetes集群的全过程

    Linux环境下部署Kubernetes集群的全过程

    在当今云原生时代,Kubernetes 已成为容器编排的事实标准,掌握 Kubernetes 的部署与运维能力都已成为必备技能,本文将带你从零开始,在 Linux 环境中完整部署一个高可用的 Kubernetes 集群,需要的朋友可以参考下
    2026-04-04
  • linux服务器磁盘爆满的处理方案

    linux服务器磁盘爆满的处理方案

    文章描述了Linux服务器磁盘爆满导致Redis服务无法访问的问题,通过一系列命令查找并删除大文件,解决了磁盘空间不足的问题,同时,文章介绍了如何配置Nacos以防止日志文件过大导致磁盘空间爆满,需要的朋友可以参考下
    2025-02-02
  • linux下使用cmake编译安装mysql的详细教程

    linux下使用cmake编译安装mysql的详细教程

    这篇文章主要介绍了linux下使用cmake编译安装mysql的详细教程,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-10-10
  • Linux服务器快速搭建MinIO对象存储全过程

    Linux服务器快速搭建MinIO对象存储全过程

    在Linux服务器上搭建MinIO存储服务器的步骤,MinIO支持从二进制文件或包管理器下载,用户需要配置环境变量、创建存储目录并设置服务权限,然后启动服务并访问Web控制台进行验证,文章还提到可配置防火墙、Nginx反向代理及多节点部署
    2025-09-09
  • Apache本地二级域名配置方法

    Apache本地二级域名配置方法

    这篇文章主要介绍了Apache本地二级域名配置方法,涉及hosts文件设置与Apache配置文件设置等相关技巧,需要的朋友可以参考下
    2016-05-05
  • Linux中BT5关于修改静态IP和DNS方法

    Linux中BT5关于修改静态IP和DNS方法

    本篇文章给大家整理了关于Linux中BT5关于修改静态IP和DNS的方法,有需要的朋友可以参考学习下。
    2018-02-02
  • 使用Apache打造完美限制的HTTP下载服务器

    使用Apache打造完美限制的HTTP下载服务器

    话说现在建站真不容易,想好好搞一个下载站,总会被人WC的采集,盗链,攻击,无人值守的垃圾站比苦心经营的站收入还要可观。所以保卫好自己的服务器是一件很重要的工作
    2016-08-08
  • Apache ShardingSphere简介及使用详解

    Apache ShardingSphere简介及使用详解

    Apache ShardingSphere 是一款开源的分布式数据库生态系统,主要用于实现数据库的分片、读写分离和全链路压测等功能,下面给大家介绍Apache ShardingSphere 初识使用,感兴趣的朋友跟随小编一起看看吧
    2025-08-08
  • Linux中的最大线程数和句柄数详解

    Linux中的最大线程数和句柄数详解

    这篇文章主要介绍了Linux中的最大线程数和句柄数的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04

最新评论