我们在使用Linux的时侯,难免要在系统中查找某个文件,例如查找xxx配置文件在那个路径下、查找xxx格式的文件有什么等等。

既然是Linux系统,这么使用命令行方式去查找肯定是最快最直接的方式,即使现今有好多联接工具可以提供查找功能,并且归根究竟还是借助了相关查找的命令,这么明天瑞哥就带你们来学习一下,怎样用命令的方式查找文件。

由于涉及到好多骚操作,你们肯定在工作中没有全部用到,建议你先收藏本文,用到的时侯记得回去查阅。

使用时间戳查找文件

使用locate命令在Linux中查找文件和目录

总结

find命令是Linux中最重要和最常用的命令之一。

使用find命令在Linux中查找文件和目录

Linuxfind命令是一个强悍的工具,它使系统管理员才能依据模糊的搜索条件定位和管理文件和目录,它支持按文件、文件夹、名称、创建日期、修改日期、所有者和权限进行搜索。

find命令用于查找文件和目录并对其进行后续操作,它递归地搜索每位路径中的文件和目录,为此,当find命令遇见给定路径中的目录时,它会在其中查找其他文件和目录。

按名称查找文件

find命令的通常句型是:

让我们分解一下这个句型:

删除目录命令Linux_linux find 目录 命令_目录命令在什么选项卡中

find命令最常见的用途是按文件名搜索文件,-typef选项告诉系统我们正在找寻一个文件linux c,要使用文件名查找文件,请使用带有默认命令的标志。

比如,要搜索wljslmz.ppt在/home目录中命名的文件,您可以使用以下命令:

Linux对文件名分辨大小写,因而倘若您要查找名为的文件Wljslmz.ppt,里面显示的命令将不会返回任何结果,在这些情况下,您将须要使用该-iname选项而不是-name.

该-iname选项运行不分辨大小写的搜索,因而我们可以这样做:

此命令将找到具有以下任何名称的文件:wljslmz.ppt,Wljslmz.ppt,WLJSLMZ.ppt等。

按部份名称查找文件

您可以使用文件名元字符,比如星号*,但您应当在每位字符前放置一个通配符字符或将它们括在冒号中。

比如,要查找所有以**.ppt**结尾的文件,您可以运行:

这与:

同样,要查找Linux系统上名称以开头的所有文件wljslmz,您可以运行:

按大小查找文件

使用find命令,我们还可以轻松实现一些看上去很复杂的事情:找到比给定大小更大或更小的文件。

该选项上find容许我们搜索特定大小的文件,+和-前缀表示“大于”和“小于”。

下边的示例将搜索所有小于2GB的文件,注意+符号的使用:

在前面的示例中,后缀G表示百兆字节,其他后缀:

上述find命令用于搜索所有小于指定大小的文件。

find命令示例将搜索所有大于100KB的文件,注意-符号的使用:

怎样在Linux中查找特定大小的文件?

使用以下命令查找大小介于200兆字节和320兆字节之间的文件:

使用时间戳查找文件

Linux为文件系统中的每位文件分配特定的时间戳,find命令还可以依照先前更改、访问或修改时间搜索文件。

-mtime选项用于指定文件存在的天数,表达式可以以两种形式使用:

倘若您输入+3redhat linux 9.0下载,它将查找/etc目录中超过4天的所有文件。

查找过去24小时内发生修改的所有文件:

使用-mminN表达式来依赖分钟而不是天。

从/etc上一分钟更改的目录中查找所有文件。

可以组合表达式,以下是怎样在Linux中查找不到60分钟前和超过30分钟前更改过的文件:

按所有者查找文件

要查找特定用户或组拥有的文件,请使用-user和-group选项。

比如,要在服务器的/home文件夹中查找用户wljslmz拥有的文件:

www-data在/home目录中查找属于某个组的所有文件:

按权限查找文件

该-perm选项容许用户搜索具有特定权限集的文件。

下边的命令将在当前目录中查找权限为777的文件。

使用该-选项意味着“至少设置了这个权限级别,以及任何更高的权限”。

此示例显示/home目录中起码具有644权限的所有资源,这意味着,与权限的文件,比如777,745,666,655,654linux find 目录 命令,等,将匹配,同时与权限的文件642,611,600linux find 目录 命令,544,等,将不匹配。

删除目录命令Linux_目录命令在什么选项卡中_linux find 目录 命令

按名称查找目录

到目前为止,我们看见的所有示例都返回文件,并且,假如您只须要搜索目录,则可以使用该-typed参数。

换句话说,您可以find通过使用-typed标志(d表示目录)制止Linux中的命令搜索目录以外的其他文件类型。

查找/opt目录下名子为app的文件夹:

使用locate命令在Linux中查找文件和目录

尽管find是Linux中最流行和最强悍的用于文件搜索的命令行实用程序之一,但对于须要即时结果的情况来说,它的速率还不够快。

该locate命令比find命令更快,find由于它使用原先建立的数据库,而该locate命令实时搜索所有实际目录和文件。

假如locate未安装,您可以使用Linux发行版的包管理器轻松安装它。

在Ubuntu或任何其他基于Debian的系统上,键入以下命令:

倘若您使用的是Fedora或CentOS,请改用以下命令:

ArchLinux用户须要执行:

在locate可以使用之前,须要创建数据库,这是通过updatedb命令完成的,该命令顾名思义就是更新数据库。

数据库将每晚手动更新,但您也可以随时自行更新,便于获得最新结果。

按名称查找文件

locate命令特别适于使用。您所要做的就是将您要搜索的文件名传递给它。

如同find命令一样,locate配置为以分辨大小写的方法处理查询,要让locate命令忽视分辨大小写并显示小写和大写查询的结果,您须要使用该-i选项。

按部份名称查找文件

假如要搜索包含字符串的所有文件名.ppt,则可以使用locate以下形式进行搜索:

限制搜索结果

您可以使用-n选项返回搜索所需数目的结果,以防止搜索结果出现冗余。

比如,倘若您只须要查询的20个结果,则可以键入以下命令:

显示匹配条目的数目

要使用locate命令估算文件名或搜索模式的出现次数,请调用-c选项。

总结

Linux用户可以使用两个最广泛使用的文件搜索实用命令:find、locate,二者都是在系统上查找文件的好方式,使用那个命令还是按照情况来。

本文应当让您对怎样在Linux系统上查找文件有一个基本的了解,想要将搜索命令玩的溜,别忘了使用各种参数!

Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复