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

描述

对于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系统上找到所需的文件。

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分