如何在 Linux 中查找文件?

已发表: 2022-04-07

目录

介绍:

Find是一个遍历文件层次结构的 UNIX 命令行实用程序。 您可以使用它来查找和操作文件和目录。 可以使用此命令搜索文件、文件夹、名称、创建日期、修改日期、所有者和权限。

您可以进一步将它与“ exec ”选项结合起来,对find命令找到的结果执行各种操作。

在本文中,我们将学习如何使用Find命令在 linux 中查找文件。

查找命令如何工作?

Find在您的计算机上查找文件。 根据优先规则,它在给定路径指定的每个目录树中从左到右评估每个表达式。 在 AND 运算或 OR 运算中,当表达式的左侧为 TRUE 或 FALSE 时,结果是“已知的”。 Find 然后移动到下一条路径,直到探索完所有路径。

find命令是在 Linux 系统上处理文件的最基本和最强大的工具。 文件可以单独定位,也可以与其他程序一起定位。

句法:

find [options] [path…] [expression]

或者

$ find [where to start searching from]

[表达式确定要查找的内容] [-options] [要查找的内容]

  • 符号链接处理、调试选项和优化策略都由options属性控制。
  • path ... 属性指定 find 将从中查找文件的一个或多个目录。
  • 选项、搜索模式和操作由表达式属性中的运算符分隔。

选项:

-exec CMD :正在搜索的文件满足上述条件并返回 0 表示成功的命令执行退出状态。

-ok CMD :与 -exec 类似,但会预先提示用户。

-inum N :在 inode 中查找编号为“N”的文件。

-links N :查找具有“N”个链接的文件。

-name demo :在文件名中查找名称为“demo”的文件。

-newer file :查找自“file.”以来已更新或创建的文件。

-perm octa l:如果权限是“八进制”,则查找文件。

-print :打印使用剩余条件识别的文件的路径名。

-empty :查找为空的文件和文件夹。

-size +N/-N : 查找带有“N”块的文件; 'N' 后跟 'c' 可用于测量字符大小; '+N' 表示大小 > 'N' 块,而 '-N' 表示大小'N' 块。

-user name :查找用户名为“name”或 ID 为“name”的文件。

(expr) : 如果 'expr' 为真,则为真; 用于使用 OR 或 AND 对条件进行分组。

expr : 如果 'expr' 为假,则为真。

表达式:

选项(影响一般操作而不是文件处理并始终返回 true)、测试(返回 true 或 false 值)和操作(具有副作用并返回 true 或 false 值)都由表达式中的运算符分隔. 当运算符不存在时, -and 被推断。

如果表达式不包含其他操作,则 -prune, -print 应用于所有为真的文件。

例如,让我们以下面的命令为例

find -L /var/www -name "*.js"

  • 选项-L(选项)告诉 find 命令跟随符号链接。
  • /var/www (path...) 指定将被搜索的目录
  • (expression) -name "*.js 告诉 find搜索以 .js 结尾的文件(JavaScript 文件)。

如何在linux中按名称查找文件

可以使用find命令按名称查找文件。 您可以使用 -name 选项按文件名搜索文件。

find -type f -name functions.php

如何在 Linux 中查找文件

使用 -iname 而不是 -name,运行区分大小写的搜索

如何通过扩展名在linux中查找文件

您可以按扩展名搜索文件,就像按名称搜索文件一样。

find -type f -name '*.php'

要查找没有给定扩展名的文件,请使用以下命令

find -type f - not -name '*.php'

按类型查找文件

如果您需要查找特定文件类型,例如常规文件、目录或符号链接,则可能需要搜索特定文件类型。 Linux 中的一切都是文件。

使用 -type 选项和以下描述符之一指定要搜索的文件类型:

  • f:普通文件
  • d: 目录
  • l:符号链接
  • c:字符设备
  • b:块设备
  • p:命名管道(FIFO)
  • s: 插座

find public_html/wp-admin/ -type d

按大小查找文件

-size 参数应与 size 参数一起传递,以根据文件大小查找文件。 以下后缀可用于指定文件大小:

  • b:512 字节块(默认)
  • c:字节
  • w:两字节字
  • k:千字节
  • M:兆字节
  • G:千兆字节

find . -type f -size -1M

如果要搜索大于 1MB 的文件,请使用 +

find . -type f -size +1M

您甚至可以搜索大小范围内的文件

find . -type f -size +1M -size 3M

通过修改查找文件

find命令还可用于根据文件最后一次修改、访问或更改的时间来查找文件。

就像在按大小搜索时一样,对“大于”和“小于”使用加号和减号字符。

find . -mtime +30 -daystart

按权限查找

您可以使用 -perm 选项根据文件的权限搜索文件。

find public_html/wp-admin/css -perm /444

/ 用作前缀,则至少在类别上必须至少设置相应的位才能匹配文件。

-prefix,则至少必须设置指定的位。

按所有者查找

使用 -user 和 -group 参数查找某个用户或组拥有的文件。

find -user testc7963

结论

我们已经演示了如何使用各种条件和参数来应用 find 命令。
本文应该让您对如何在 Linux 计算机上查找文件有一个基本的了解。