0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用命令行在Linux中查找文件?

深圳市恒讯科技有限公司 来源:恒讯科技 作者:恒讯科技 2023-03-23 14:55 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

对于Linux新用户来说,在Linux中查找文件可能有点困难。但是,在适当的指导下,任何人都可以创建文件快捷方式或找到其Linux系统中有多少文件。

我们必须使用命令行来查找文件或特定文件名。也称为终端,命令行提供了几个用于搜索文件的工具,包括查找、定位、grep 和 where is,仅举几例。

那么如何使用命令行在Linux中查找文件?在Linux中查找文件的12 种方法:

1、查找命令
Linux命令“find”是一个非常强大的工具,它允许用户使用各种标准(例如文件名、大小和修改时间)搜索文件和目录,并查看文件权限。使用find搜索文件时使用的语法如下:copyfind [path] -name [filename]
此处,路径是我们要开始搜索的目录,文件名是我们要查找的文件名。例如,要在当前目录结构及其子目录中查找名为example.txt的文件,我们必须使用以下命令:copyfind . -name example.txt
这将搜索名为example.txt的所有文件。
我们甚至可以使用通配符在Linux文件系统中搜索与特定模式匹配的文件。例如,要搜索所有以.txt 扩展名结尾的文件,我们需要输入以下命令:copyfind . -name "*.txt"
这将在当前文件和目录中找到一个以.txt扩展名结尾的文件(或多个文件)。

2、定位命令
locate命令是另一个在Linux中查找文件的便捷工具。它搜索文件和目录及其位置的预建数据库,因此它可以比大型文件系统的find命令更快。要使用locate搜索文件,请使用以下语法:copylocate [filename]
和以前一样,要搜索名为example.txt的文件,我们可以使用以下命令:copylocate example.txt
这将搜索整个文件系统中名为example.txt的所有文件。
请注意,locate命令使用预建数据库,必须定期更新。要更新数据库,只需运行以下命令:copysudo updatedb
这样,我们现在可以使用locate命令搜索文件和目录了。

3、grep 命令
也称为在文件中搜索文件的命令,grep命令是另一个用于查找文件模式的命令。它可以在一个文件或一组文件中搜索特定的字符串或模式。要在文件中搜索字符串,请使用以下语法:copygrep [string] [filename]
例如,要在名为example.txt 的文件中搜索字符串example,我们可以使用以下命令:copygrep example example.txt
这将搜索文件example.txt中所有出现的字符串example(即,考虑符号链接)。除此之外,我们还可以使用通配符在多个文件中搜索模式。
例如,要搜索包含字符串example 的目录及其子目录中的所有文件,请在终端中输入以下内容:copygrep -r "example"。

4、-type 选项与查找
find命令中的-type选项允许您根据文件的类型搜索文件。例如,要搜索所有目录,请执行以下命令:copyfind . -type d
这将搜索所有目录。

5、-size选项与查找
find命令中的-size选项还允许您在系统中搜索文件,不过这次是根据它们的大小。
现在,要搜索当前目录及其子目录中大于1MB的所有文件,请使用以下命令:copyfind . -size +1M
这将给出查找大于1MB的文件的命令。

6、使用Exec选项查找命令
让我们稍微回到find命令。它使我们能够对与搜索模式匹配的文件执行命令。例如,要删除所有扩展名为.bak的文件,请输入以下命令:
copyfind . -name "*.bak" -exec rm {} ;
这告诉系统查找扩展名为.bak的文件并删除它们。

7、使用mtime和ctime选项查找命令
mtime和ctime命令允许我们根据文件的修改和创建时间搜索文件。例如,要搜索最近7天内修改过的当前目录及其子目录中的所有文件,只需输入以下命令:copyfind . -type f -mtime -7
这使我们可以找到在过去7天内修改过的文件。

8、使用用户选项查找命令
使用用户选项,我们可以搜索特定用户拥有的文件。
要搜索用户john拥有的当前目录及其子目录中的所有文件,请使用以下命令:copyfind . -type f -user john
这将搜索用户john在当前目录及其子目录中拥有的所有文件。

9、使用定位命令定位文件
locate命令是在Linux中定位文件的超快速方法。它使用系统上所有文件的数据库来快速查找文件。但是,数据库必须定期更新,因此它可能并不总是最新的。要使用locate命令搜索文件,请键入以下命令:copylocate filename
将文件名替换为我们要搜索的文件名。locate命令将返回与我们的搜索相匹配的所有文件的列表。

10、使用-name选项查找命令
find命令还允许我们根据文件名搜索文件。要搜索名称中包含单词数据的所有文件,请使用以下命令:copyfind . -name "*data*"
这将搜索名称中包含单词数据的所有文件。单词数据前后的*字符是匹配前后任意字符的通配符。

11、多选项查找命令
我们可以组合多个选项以根据多个条件搜索文件。例如,要搜索当前目录及其子目录中所有大于1MB且在最近7天内被修改的文件,可以使用以下命令:copyfind . -type f -size +1M -mtime -7
这给出了查找大于1MB且在过去7天内修改过的文件的命令,如mtime和ctime命令。

12、whereis命令
我们还可以使用whereis搜索其他文件,例如配置文件或库。例如,要搜索Apache Web服务器配置文件的位置,我们应该使用以下命令:copywhereis httpd.conf
这将输出httpd.conf文件的位置,该文件通常包含Apache Web服务器的配置设置。

以上是Linux中可用的无数命令和选项的几个示例。通过一些练习,相信我们将毫不费力地使用终端在Linux系统上找到所需的文件。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    88

    文章

    11628

    浏览量

    217989
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    飞凌嵌入式ElfBoard-Linux系统基础入门-文件操作相关shell命令

    -iname文件名称符合,忽略大小写示例:2.5.12 whereis查找文件命令:whereis功能:用于定位可执行文件、源代码文件、帮助
    发表于 09-30 09:46

    Linux基础命令which详解

    Linux系统,which命令用于查找并显示指定命令的可执行文件路径。这对于系统管理员和开发
    的头像 发表于 07-29 17:58 592次阅读

    解析K8S实用命令

    前言: 作为运维工程师,掌握 Kubernetes 命令行工具是日常工作的核心技能。本文将深入解析 K8S 最实用的命令,从基础操作到高级技巧,助你成为容器化集群管理专家。
    的头像 发表于 07-24 14:07 535次阅读

    已收藏!你需要知道的57个常用树莓派命令

    初次使用树莓派并不总是那么容易,因为你可能还没有使用命令行的习惯。然而,终端命令是必不可少的,而且通常比通过图形用户界面(GUI)操作更高效。那么,有哪些重要的命令是你应该知道的呢?有相当多的
    的头像 发表于 07-23 18:36 821次阅读
    已收藏!你需要知道的57个常用树莓派<b class='flag-5'>命令</b>!

    USB串行配置实用程序是否有可用的命令行版本?

    USB串行配置实用程序是否有可用的命令行版本?
    发表于 07-22 08:09

    浅谈wsl --update` 命令行选项无效的解决方案

    PS C:\Users\Administrator> wsl --update >> 命令行选项无效: --update
    的头像 发表于 06-27 10:28 9863次阅读

    SSH常用命令详解

    SSH常用命令详解
    的头像 发表于 06-04 11:30 1725次阅读

    Linux用命令大全

    Linux用命令是指在Linux操作系统中广泛使用的命令工具,这些命令工具可以完成各种不同的任务,如管理
    的头像 发表于 05-03 18:08 1614次阅读

    aurix development studio无法用命令行编译工程的原因?

    aurix development studio无法用命令行编译工程
    发表于 04-18 06:50

    请问如何通过S32K312命令行构建代码?

    现在我们已经通过 S32DS3.5 IDE 开发了固件,它也可以工作了。 最近,我们收到了通过命令行构建代码的要求,并且 我从 S32DS 帮助内容读取了相关文档,但这种情况会发生 有关 JAVA
    发表于 04-09 07:48

    树莓派新手必看!在树莓派上编写和运行 Shell 脚本!

    在本教程,我将讨论Shell脚本的基础知识、它们的用途以及如何在RaspberryPi上编写和运行Shell脚本。什么是Shell脚本?Shell脚本可以让你自动化几乎所有在Linux命令行上可以
    的头像 发表于 03-25 09:28 891次阅读
    树莓派新手必看!在树莓派上编写和运行 Shell 脚本!

    Linux用命令行总结

    学习了一段时间的linux之后,开始着手基本命令的学习,这里主要记录一些学习过程重要的知识点供以后查阅。
    的头像 发表于 03-03 10:40 811次阅读
    <b class='flag-5'>Linux</b>常<b class='flag-5'>用命令行</b>总结

    Linux文件管理命令详解

    cat命令描述:该命令用于连接文件并打印到标准输出设备上。
    的头像 发表于 02-17 10:34 890次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>文件</b>管理<b class='flag-5'>命令</b>详解

    curl wget bond:深入解析命令行工具的差异与应用场景

    测试端口: curl -v ip:端口 限制下载速度: curl --limit-rate 100K http://example.com wget wget 是一个用于从网络下载文件命令行工具
    的头像 发表于 01-24 09:20 777次阅读

    Linux实时查看日志的四种命令详解

    如何在Linux实时查看日志文件的内容?那么有很多实用程序可以帮助用户在文件更改或不断更新时输出文件的内容。在
    的头像 发表于 01-13 10:45 3984次阅读
    <b class='flag-5'>Linux</b>实时查看日志的四种<b class='flag-5'>命令</b>详解