介绍

问题: 在 Linux 操作系统的终端中搜索文件。

在本文中,我们将探讨如何在 Ubuntu 中使用 Zsh 终端搜索文件。Zsh(Z shell)是一种功能强大且广泛使用的命令解释器,因其灵活性和高级功能而受到欢迎。

Ubuntu,一种流行的 Linux 发行版,提供了多种命令行工具来搜索文件。我们将看到如何使用诸如`find`, locate et `grep`在终端中快速有效地定位文件。

使用命令 `find

命令`find`可以在特定目录及其子目录中搜索文件。其基本语法如下:

find [chemin] -name [nom_du_fichier]

这是一个实际示例,我们正在搜索一个名为的文件。example.txt`在目录中/home`:

find /home -name "example.txt"

此命令将遍历所有子目录`/home`并显示文件的完整路径(如果已找到)。

命令的在线手册`find` : man find

find` 的附加选项

命令`find`非常强大,具有许多选项。以下是一些有用的例子:

  • 按文件类型搜索: 要仅搜索文件,请使用`-type f`, 并且要搜索目录,请使用`-type d`. - 按尺寸搜索: 你也可以根据文件大小使用该选项来过滤文件`-size`. Par exemple, pour rechercher des fichiers de plus de 100 Mo, utilisez :

find /home -size +100M

使用命令 `locate

命令`locate`比……更快`find`因为它使用了一个预先索引的数据库,其中包含系统上存在的文件。您必须首先使用以下命令更新此数据库:

sudo updatedb

然后,您可以像这样搜索文件:

locate example.txt

我使用https://fr.wikipedia.org/wiki/Z_Shell[zsh]与https://github.com/ohmyzsh/ohmyzsh/wiki[oh-my-zsh], 结果发现该命令`locate`无法从…​访问`zsh`但自从…​确实有可能`bash`, 为应对这一点,论点`-c`命令的`bash`允许启动一条命令`bash`从另一种类型的终端。

我正在查找以该模式结尾的文件`001.pdf`在用户目录中

bash -c "locate ~/*001.pdf"

命令的在线手册`locate`:https://man.archlinux.org/man/locate.1.fr/[man locate,windows=read-later]

使用命令 grep 在文件中搜索文本

如果您想在文件中搜索特定文本,您可以使用`grep`. 例如,为了在所有文件中搜索单词“Ubuntu”的出现`.txt`当前目录,使用 :

grep "Ubuntu" *.txt

结论

在 Ubuntu 中通过 Zsh 终端搜索文件可以使用多种强大的工具。`find`灵活且提供了众多选项,而`locate`它允许使用预构建的数据库进行快速搜索。 最后,`grep`可以在文件中查找文本的出现。

这些命令为您提供了一套完整的工具,使您的文件搜索更高效并适应您的需求而每个这些命令都有一个可通过该命令查看的手册`man`

相关文章