利用Linux快速查找文件名的方法 (linux 以文件名查找)

作为一款开源操作系统,Linux一直以来备受程序员、工程师等技术人员的青睐。说到Linux的优点,自然有太多太多的答案,比如稳定、安全、可定制等等。而在实际使用中,大家最常使用的,往往都是Linux丰富的命令行功能。其中,快速查找文件名的操作,也是程序员们最常用的功能之一。下面,我们就来分享一下如何利用Linux快速查找文件名。

查找文件名的命令

在Linux中,查找文件名的命令有很多,比较常用的有以下几种。

1. find命令

find命令能够查找指定路径下的所有文件,并以一定的方式展示它们的信息。下面是一个例子:

“`

$ find /dev -name ‘tty*’

“`

这个命令会在/dev目录下查找所有以”tty”开头的文件名。这里的”-“表示是文件名匹配,而非全文查找,匹配规则就是shell的通配符,即可以使用”*”和”?”。

2. locate命令

locate命令需要在使用前,先更新一下查找文件的索引。具体操作为:

“`

$ sudo updatedb

“`

然后,我们就可以愉快地使用locate命令了。举个例子:

“`

$ locate myfile.txt

“`

这个命令会在系统的用户文件目录下,查找名为”myfile.txt”的文件。

3. which命令

which命令虽然看起来和前两种命令有很大不同,但实际上它也能用来查找指定文件的位置。只不过它主要用在查找命令的时候,帮助我们确认命令的位置,比如:

“`

$ which python3

“`

这个命令会输出当前系统中python3命令的路径。

4. grep命令

grep命令虽然不是专门查找文件名的命令,但它可以在文件中查找指定的字符串,包括文件名和文件内容。比如:

“`

$ grep -rni ‘hello’ /path/to/dir

“`

这个命令会在指定的目录下查找所有带有”hello”字符串的文件,并输出它们的路径、行号和内容。

查找时忽略大小写

有时候我们可能需要在查找文件名时,忽略大小写。针对这种需求,Linux提供了忽略大小写的命令行选项。

在find命令中使用”-iname”选项,可以实现文件名不区分大小写的查找。比如:

“`

$ find /home -iname “myfile.txt”

“`

这个命令会在/home目录下查找myfile.txt或者MYFILE.TXT等同名的文件。

在grep命令中使用”-i”选项,就可以实现文件内容不区分大小写的查找。比如:

“`

$ grep -rni –include=”*.txt” -i ‘hello world’ /path/to/dir

“`

这个命令会在指定目录下查找所有txt文件中包含”hello world”字符串的文件,而且不区分大小写。

限定查找范围

我们在查找文件时,可能会遇到查找范围过大的问题。如果想限定查找范围,可以使用各种命令行选项。

在find命令中,可以添加”-prune”选项,忽略指定的目录或文件,比如:

“`

$ find / \! -path “/sys/*” \! -path “/proc/*” -name “*.txt”

“`

这个命令会在Linux根目录下,找出所有不在”/sys”和”/proc”目录下的txt文件。我们可以根据实际情况,修改”-path”选项后的目录来调整查找范围。

在grep命令中,我们可以使用”–include”选项,限定查找符合指定通配符的文件,比如:

“`

$ grep -rni –include=”*.txt” ‘hello world’ /path/to/dir

“`

这个命令将只在path/to/dir目录下查找所有txt文件中包含”hello world”字符串的文件。

结语

以上就是。当我们需要快速查找文件时,这些命令一定会派上用场。当然,如果你想更深入地理解Linux命令行,建议多多探索,学习更多的命令和选项。

相关问题拓展阅读:

linux怎样搜索文件或文件夹

find命令,它使用起来功能强大,但是也很复杂

比如fing / 就是查找根目录下的所有文件

它有许多可用参数,-name后加文件名,-perm后加权限,-exec或罩竖哗-ok用来在查找文件后执行纤盯shell命令,如找到一些文件然后删除,-newer用来寻找比某个文件新的文件,还有许多

另外就是whereis,用来查找命令所在的位置比较不错

还有slocate,后面物行直接加文件名就行了,但是要先用updatedb命令来更新数据库,这样才能找到最新的文件

linux里搜索文件或者文件夹的命咐手闷令如下:

find / -name 文件或文件夹名

/指的是根目录,如果你能知道文件在哪个具体的目录薯薯下面,使衡弯用具体目录路径替代/ 即可,这样会更快

用命令行搜索似乎可行伏信,但是不够人性化。

如果你用的是缺态轮suse那就很方便了,桌面就有文件搜索工具。

其他版本的好像要开起什么闭昌索引服务程序才行,具置找找看。

现在的桌面版都有搜索,很方便

linux如何查找以某个字母打头的文件或文件夹 比如,/etc目录下很多文件,我想列出所有以c开头的文件或文件

ls -al |grep c* 这样就可以了,运用管道命令亏消镇|,还桥改有什么问题可以再问我销粗,多交流。。。。

ls -al |grep c* 这样就可以了,运用管道命令|。

如何使用

命令行

在Linux中查找文件和文件夹

使用查找命令,“find”命令允许您搜索知道近似文件名的文件。该命令的最简单形式在当前目录中搜索文件,并递归地通过其与所提供的搜索条件匹配的子目录。您可以按名称,所有者,组,类型,权限,日期和其他条件搜索文件。

在提示符下键入以下命令将列出当前目录中的所有文件。

“find”后的点表示当前目录。

要查找符合特定模式的文件,请使用-name参数。您可以使用文件名元字符(例如*),但您应该将一个

转义字符

(\)放在每个字符之前或将它们括在引号中。

例如,如果要在Documents目录中找到以“pro”开头的所有文件,我们将使用该cd Documents/命令更改为Documents目录,然后键入以下命令:

find . -name pro\*

列出以“pro”开头的当前目录中的所有文件。

注意:find命令默认为区分大小写。镇差闷如果要搜索单词或短语不区分大小写,请使用-inamefind命令中的选项。这是-name命令的不区分大小写的版本。

如果find没有找到符合条件的任何文件,则不会产生任何输出。

find命令有很多选项可用于完善搜索。有关find命令的更多信息,请man find  在“终端”窗口中运行,然后按

Enter键

使用定位命令

locate命令比find命令更快,因为它使用了先前构建的数据库,而find命令通过所有实际目录和文件在实际系统中进行搜索。locate命令返回包含指定字符组的所有路径名的列表。

数据库从cron定期更新,但您也可以随时更新数据,以便您可以获得最新的结果。为此,请在提示符下键入以下命令:

sudo updatedb

出现提示时输入密码。

locate命令的基本形式从

文件系统

中找到包含搜索条件全部或部分内容的所有文件。

locate mydata

例如,上面的命令发现了两个包含“mydata”的文件和一个包含“数据”的文件

如果要查找包含完全唯一的搜索条件的所有文件或目录,请使用-blocate命令中的选项,如下所示。

locate-b’\ mydata’

上述命令中的反斜杠是一个globbing字符,它提供了将非特定文件名中的

通配符

扩展成一组特定文件名的方法。通配符是

表达式

被御弯评估时可以被一个或多个字符替换的符号。最常见的通配符是问号(?),它表示单个字符,而asterisk(*)表示连续的

字符串

。在上面的例子中,反斜杠禁用“* mydata *”隐式替换“mydata”,所以最终只能包含“mydata”的结果。

mlocate命令是一个新的locate的实现。它索引整个文件系统,但搜索结果只包含当前用户可访问的文件。更新mlocate数据库时,它会在数据库中保留时间戳信息。这允许mlocate知道目录中的内容是否更改,而不再读取内容,并使数据库更新速度更快,对硬盘驱动器的要求也更低。

当您安装mlocate时,/ usr / bin / locate

二进制

文件更改为指向mlocate。要安装mlocate,如果尚未包括在Linux发行版中,请在提示符下键入以下命令。

sudo apt-get install mlocate

注意:我们将在本文后面显示一条命令,允许您确定命令的

可执行文件

所在的位置(如果存在)。

mlocate命令不使用与标准locate命令相同的数据库文件。因此,您可能需要在提示符下键入以下命令手动创建数据库:

sudo /etc/cron.daily/mlocate

在数据库手动创建数据库或从cron运行脚本之前,mlocate命令将不起作用。

有关locate或mlocate命令的详细信息,请键入man locate或man mlocate  在“终端”窗口中,然后按Enter键。两个命令显示相同的帮助屏幕。

使用哪个命令

“which”命令返回发出命令时调用的可执行文件的

绝对路径

。这在找到用于在桌面,面板庆正或桌面管理器中的其他位置创建程序的

快捷方式

时可用于查找可执行文件的位置。例如,键入命令将which firefox 显示下图中显示的结果。

默认情况下,哪个命令只显示之一个匹配的可执行文件。要显示所有匹配的可执行文件,请使用-a以下命令的选项:

这是一个firefox

您可以一次搜索多个可执行文件,如下图所示。只显示找到的可执行文件的路径。在下面的例子中,只发现了“ps”可执行文件。

注意:哪个命令只搜索当前用户的PATH变量。如果搜索只能作为普通用户使用的root用户的可执行文件,则不会显示任何结果。

有关哪个命令的更多信息,请在终端窗口中的

命令提示符

下键入“man which”(不带引号),然后按Enter键。

使用Whereis命令

whereis命令用于查找命令的二进制文件,

源文件

和手册页文件所在的位置。例如,whereis firefox 在提示符下输入将显示如下图所示的结果

如果您只想要显示可执行文件的路径,而不是源和路径(man(页)),请使用该-b选项。例如,该命令whereis -b firefox将仅显示/usr/bin/firefox为结果。这很方便,因为您可能会比搜索该程序的源页面和手册页更频繁地搜索程序的可执行文件。您也可以仅搜索源文件(-s)或仅搜索手册页(-m)。

有关whereis命令的详细信息,请键入man whereis 终端窗口,然后按Enter键。

了解Whereis命令与哪个命令之间的区别

whereis命令显示命令的二进制,源和手册页的位置,而哪个命令仅显示命令的二进制文件的位置。

whereis命令搜索二进制,源和man文件的特定目录列表,而哪个命令搜索当前用户的PATH

环境变量

中列出的目录。对于whereis命令,可以在命令的手册页的FILES部分中找到具体目录的列表。

当涉及默认显示的结果时,whereis命令显示它找到的所有内容,而哪个命令只显示找到的之一个可执行文件。您可以使用-a前面讨论过的选项来更改该命令。

因为whereis命令只使用硬编码到命令中的路径,所以您可能并不总是找到您要查找的内容。如果您正在搜索一个程序,则认为可能安装在whereis命令的手册页中未列出的目录中,您可能希望使用该-a选项以查找系统中所有出现的命令,

sudo find / -iname c*

-iname是不分大小写

-name是分大小写

linux系统下,怎么设置某一用悄携户远程登录只能访问根目录下的某个文件夹目录或多把可启罩伏访问的目录赋予对应的权限即可闷含 如果是ftp,在/etc/ftpusers中设置,RRckiw

1. echo c*

2. ls c*

关于linux 以文件名查找的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 利用Linux快速查找文件名的方法 (linux 以文件名查找)