开发者

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

开发者 https://www.devze.com 2025-06-04 10:00 出处:网络 作者: Blue_o-o
目录which概念语法作用find概念语法按文件名查找按文件大小查找作用演示一演示二演示三通配符总结which概念
目录
  • which概念
    • 语法
    • 作用
  • find概念
    • 语法按文件名查找
    • 按文件大小查找
    • 作用
      • 演示一
      • 演示二
      • 演示三
    • 通配符
    • 总结

      which概念

      which 是一个常用的 linux/Unix 命令,http://www.devze.com用于查找并显示指定命令的绝对路径。

      语法

      which 要查找的命令

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

      作用

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

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

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

      如下:

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

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

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

      find概念

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

      语法按文件名查找

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

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

      按文件大小查找

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

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

      作用

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

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

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

      演示一

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

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

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

      演示二

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

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

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

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

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

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

      演示三

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

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

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

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

      通配符

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

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

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

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

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

      总结

      1、which命令

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

      2、find命令

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

      注:find命令支持通配符

      为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)js

      0

      精彩评论

      暂无评论...
      验证码 换一张
      取 消

      关注公众号