如何在 linux 中搜索文件-人生就是博尊龙凯时

如何从命令行在 linux 中搜索文件

在 linux 上搜索文件最强大的方法是使用命令行。就像windows 有一个find命令一样,linux 也有。unix 命令find可以非常轻松地找到您可能正在寻找的任何类型的文件。以正确的方式执行,find甚至可以查看您的文件内部以识别特定的文本字符串,并且您可以将搜索范围缩小到最近修改的那些文件。

基本用法

find 的基本用法如下所示:

find /home/jeff -name “*.jpg”

该命令将在我的主目录中搜索所有以.jpg结尾的文件。不过,该命令还可以完成更多工作。

遵循符号链接

默认情况下,find命令将忽略符号链接。但是,以下命令将跟随这些链接:

find -o3 -l /var/www/ -name “*.html”

在上面的示例中,该命令将列出/var/www目录树中的所有 html 文件。

查找空文件

现在,假设您想识别目录中的所有空文件。以下命令可以做到这一点:

find . -type f -empty

这里的关键是-type  和-empty 参数,用于代替前面示例中的-name标志。

进一步的例子

让我们看一个更基本的示例,它将返回在前 6 天内更改的文件。

find /home -user randomperson -mtime 6 -iname "*.db"

在此命令中,将列出所有以.db结尾的文件,忽略文本大小写,但前提是文件已在过去 6 天内由名为randomperson的用户修改。

find-with-mtime

此执行返回过去 11 天内修改的给定目录中的所有文件

查找 linux 文件的有用选项和优化

附加标志可以控制find应用其搜索测试的顺序。默认情况下,find首先根据文件名过滤搜索结果,然后再运行任何其他测试。该标志将是-o1,但实际上没有理由包含它。

如果您传递-o2标志,则根据文件名查找过滤器,然后是文件类型。第三个选项-o3会根据资源的有效利用和返回相关结果的可能性自动重新排序搜索。

您可以使用以下参数更改更多默认行为:

  • -maxdepth x:搜索指定目录及其子目录,最大深度为x
  • -iname:搜索文件,忽略大小写。
  • -not:只产生与指定测试用例不匹配的结果。
  • -type f:仅查找文件
  • -type d:仅查找目录
  • -mtime x:仅返回前x天修改过的文件。

使用 grep 根据内容定位文件

find单独使用时,只会根据文件名和元数据过滤您的文件和目录。但是,可以更深入地挖掘并使用另一个 linux 命令根据文件包含的内容来搜索文件。

用于此的工具是久经考验的真正grep命令。这是它的工作原理。

find . -type f -exec grep "forinstance" '{}' \; -print

此命令将查看当前目录树中的每个文件( -type f )(在命令中由.注明)。接下来,它在每个文件上运行grep “例如”,打印包含forinstance的文件。

find-with-exec-grep

在此示例中,find命令返回包含文本“hello”的所有文件

在上述命令中,花括号 ( {} ) 是find命令返回的文件结果的占位符。它们放在单引号 (  ) 内,以防止向grep发送畸形的文件名。

-exec命令以分号 ( ; ) 结束,它需要转义 ( \; ),因此 linux 不会尝试将其解释为另一个命令或参数。

使用 exec 让您的查找结果更进一步

现在您知道如何使用-exec将查找结果发送到另一个命令,您将有兴趣了解您可以做的不仅仅是grep搜索结果。事实上,这种能力使得快速轻松地批量修改文件变得非常容易。

find . -name "rc.conf" -exec chmod o r '{}' \;

上面的命令由/etc目录中的 root 用户发出,将搜索所有名为rc.conf的文件。它将更改每个文件的权限,以授予文件所有者读取权限(chmod o r)。

请记住,-exec将从 linux 安装的根目录运行。如果您希望从包含匹配文件的目录运行附加命令,请改用-execdir

默认情况下,-exec-execdir将继续自行不间断地运行。如果您希望在第二个命令执行任何操作之前看到提示,请分别将选项替换为-ok-okdir

find-with-ok-flag-and-prompts

使用-ok标志,在对匹配搜索参数的文件执行任何操作之前, find会提示您

要真正充分利用find ,阅读该命令的手册条目至关重要。

如何使用 gui 在 linux 中搜索文件

许多 linux 的 gui 文件管理器也将支持搜索。在 ubuntu 中,您可以使用files应用程序搜索特定文件。只需单击 dock 中的文件夹图标,然后单击放大镜。

using-files-to-search

此 gui 工具允许您按文件类型以及上次访问或修改文件的时间进行过滤。此选项所没有的是在搜索结果中快速运行其他命令的能力。

原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/yun133676.html

(0)
打赏 微信扫一扫不于多少! 微信扫一扫不于多少! 支付宝扫一扫礼轻情意重 支付宝扫一扫礼轻情意重
上一篇 2022年2月25日 下午1:23
下一篇 2022年2月26日 下午2:30

相关推荐

  • 最新版本的linux目录,linux 6.3,已经按照一个“很好的,受控的发布周期”发布,根据项目老板的说法。莱纳斯·托瓦兹.发布周期需要七个候选版本,这些候选版本得到了有用的开发…

    2023年4月25日
  • 谷歌发布了适用于 pc 和 mac 的chromeos flex 。谷歌当时做出的一个非常恼人的决定是安装程序 usb 必须使用与 ubuntu 和 linux mint 等 li…

    2023年4月12日
  • centos 项目已发出 centos linux 7 和 centos stream 8 生命周期结束日期的提醒。 从 centos linux 7 和 centos strea…

    2023年4月11日
  • linux mint 是一个著名的 linux 发行版,它为用户提供了在安装之前试用它的机会。在本指南中,我们将解释如何试用 linux mint,如果您喜欢它,还可以解释如何用它…

    2023年4月8日
  • 根据邮件列表上的帖子,ubuntu 背后的公司 canonical 已经发布了 ubuntu 23.04 “lunar lobster” beta 版供人们下载。作为 beta 版…

    2023年4月1日
  • 距离ubuntu 23.04发布还有不到一个月的时间,这也令人惊喜,因为 canonical 已决定在即将发布的版本中将 ubuntu cinnamon remix 作为官方版本。…

    2023年3月29日
  • rufus 是一种非常流行的用于创建可引导 iso 的实用程序,最近已更新到 3.22 版。新更新添加了一系列新功能,例如禁用bitlocker 加密、sha-256 和 sha-…

    2023年3月27日
  • 微软公开的内部 linux 发行版cbl-mariner开始时只专注于小众市场,但随着时间的推移,随着它逐渐成为一个更强大的 linux 平台,它继续添加额外的软件包。 大约两年前…

    2023年3月26日
  • 我通过最新的开源驱动程序重新审视了intel arc graphics linux 游戏性能。由于英特尔“anv”开源 vulkan 驱动程序的当前限制以及其他游戏中的一些 vul…

    2023年3月26日
  • kde 开发人员 david edmundson 和 alex poi 已经开始将 xwaylandvideobridge 作为一个新项目来工作,以帮助改进基于 x11 的应用程序…

    2023年3月23日
  • 亚马逊宣布推出其第三代 linux 发行版 amazon linux 2023。通过此发行版,amazon 承诺了三个好处:高安全性标准、可预测的生命周期和确定性更新。 在安全方面…

    2023年3月19日
  • 对于那些目前使用 amazon linux 2 (al2) 作为 elastic compute cloud (ec2) 实例操作系统的用户,新发布的 amazon linux 2…

    2023年3月18日
  • aws 发布了 amazon linux 2023“al2023”作为其内部 linux 发行版的最新版本,可供 amazon ec2 客户使用。 之前的 amazon linux…

    2023年3月17日
  • 这款宏碁 aspire 1 机型于 2021 年推出,搭载高通骁龙 7c soc,八核 2.4ghz。基本型号只有 4gb 的 lpddr4x 内存,这对于如今的许多 linux …

    2023年3月16日
  • 来自 omg 的鹰眼 joey sneddon !ubuntu!在最近的邮件列表线程中发现了有关 ubuntu 23.04“lunar lobster”的重要细节。下一个版本的 u…

    最新资讯 2023年3月15日
  • 从 12 月初到 2 月下旬,该开源堆栈没有新的计算运行时更新,用于为 linux 上的英特尔图形硬件提供 opencl 和 oneapi 零级支持。这是不合时宜的,因为他们努力从…

    2023年3月14日 最新资讯
  • 点击进入:chatgpt工具插件导航大全 ubuntu 23.04“lunar lobster”开发版本最近从 ubuntu 22.10/22.04.2 使用的 linux 5.1…

    2023年3月14日
  • 继昨晚的linux 6.3-rc2 版本为某些 amd ryzen 系统上的系统卡顿带来了解决方法之后,该解决方法很快被反向移植到 linux 6.1 lts 和 6.2 稳定系列…

    2023年3月14日
  • linux 内核维护人员已将解决方法从 linux 6.3-rc2反向移植到linux 6.1.19和linux 6.2.6 ,以修复某些 amd 机器上的系统卡顿问题。根据 ph…

    2023年3月14日
  • 继昨晚的linux 6.2-rc2 版本为某些 amd ryzen 系统上的系统卡顿带来了解决方法之后,该解决方法很快被反向移植到 linux 6.1 lts 和 6.2 稳定系列…

    2023年3月13日
  • linux 6.2.4 和 6.1.17 内核已于今天上午作为新的紧急版本发布。 linux 6.2.4 和 6.1.17 都只有两个提交:恢复分别在 6.2.3 和 6.1.16…

    2023年3月12日
  • hangover 0.8.3 现已作为这个由几位 wine 开发人员发起的开源项目的最新版本提供,以简化在aarch64 (64 位 arm)以及其他可能的linux 上运行 wi…

    2023年3月10日
  • mx linux 系统要求: mx linux 对系统的最低要求不是很高,作为一款中量级的 linux 操作系统,旧 pc 也能轻松运行。 至少amd或intel 1486或更好。…

    2023年3月9日 win 11
  • 点击进入:chatgpt工具插件导航大全 在适用于 windows 10 或 11 的 wsl ubuntu 应用程序上安装 anaconda navigator 熟悉 linux…

    2023年3月9日 工具软件
  • 该项目的开发人员宣布,相对较新的 vanilla os 将在下一个版本中基于 debian sid 。目前,linux 发行版基于 ubuntu,但 vanilla os 的开发人…

    2023年3月9日
淘宝       
网站地图