Linux 中使用 fd 命令查找文件

在 Linux 中查找文件和目录是任何系统管理员的基本技能。 fd 命令是一个命令行工具,用于在 Linux 中查找文件和目录。 它是 find 命令的一种简单快速的替代方法。 与 find 命令相比,fd 命令语法更直观,输出彩色,搜索速度更快。 它还支持使用正则表达式,默认可以忽略隐藏的文件和目录。

在这篇文章中,我们将学习 Linux 中使用 fd 命令查找文件。

先决条件

  • 在 云平台上运行 Linux 的服务器
  • 在我们的服务器上配置的 root 密码

创建 云服务器

首先,登录到我们的 云服务器。 创建一个新服务器,选择任何具有至少 1GB RAM 的 Linux 操作系统。 通过 SSH 连接到我们的云服务器并使用页面顶部突出显示的凭据登录。

安装 fd 命令

默认情况下,fd 命令包含在所有主要操作系统的默认存储库中。

对于 Debian 和 Ubuntu 操作系统,使用以下命令安装 fd 命令:

apt-get install fd-find -y

对于 RHEL、Rocky Linux 和 Fedora 操作系统,使用以下命令安装 fd 命令:

dnf install fd-find -y

安装 fd 命令后,可以使用以下命令查看 fd 命令的版本:

fd --version

我们将获得以下输出:

fd 7.3.0

fd 命令的基本语法

fd 命令的基本语法如下所示:

fd [OPTION] [PATTERN] [PATH]

每个选项的简要说明如下所示:

  • -H – 在搜索结果中包含隐藏文件和目录。
  • -I – 显示将被 .gitignore、.ignore 或 .fdignore 文件忽略的搜索结果。
  • -s – 执行区分大小写的搜索。
  • -i – 执行不区分大小写的搜索。
  • -a – 显示绝对路径而不是相对路径。
  • -L – 遵循符号链接。
  • -j – 用于定义用于搜索的线程数。

fd 命令基本用法

使用不带任何选项的 fd 命令将搜索当前工作目录中的所有文件和目录:

fd

我们将获得以下输出:

directory1
directory1/my-File1.txt
directory1/my-file.txt
directory2
directory2/my-File2.txt
directory2/my-file2.txt
directory3
directory3/File4.txt
directory3/file2.png
directory3/man
directory3/women

默认情况下,fd 命令不会在输出中显示隐藏文件。 我们可以使用 -H 选项列出所有文件,包括隐藏文件。

fd -H

输出:

.allow
.git
directory1
directory1/my-File1.txt
directory1/my-file.txt
directory2
directory2/my-File2.txt
directory2/my-file2.txt
directory3
directory3/File4.txt
directory3/file2.png
directory3/man
directory3/women

使用 -p 选项搜索指定目录中的所有文件:

fd -p directory1

输出:

directory1
directory1/my-File1.txt
directory1/my-file.txt

查找字符串匹配的文件

我们可以使用 -F 选项来查找与包含正则表达式的字符串匹配的文件。

fd -F my-file

输出:

directory1/my-File1.txt
directory1/my-file.txt
directory2/my-File2.txt
directory2/my-file2.txt

查找区分大小写的文件

我们可以使用 -s 选项启用区分大小写并在结果中仅显示区分大小写的文件。

fd -s file

输出:

directory1/my-file.txt
directory2/my-file2.txt
directory3/file2.png

按类型查找文件

我们可以使用 -t 选项按文件类型查找文件。

例如,要查找当前工作目录中的所有目录和子目录,请运行以下命令:

fd -t d

输出:

directory1
directory2
directory3
directory3/man
directory3/women

要仅查找常规文件,请使用带有 f 指示符的 -t 选项:

fd -t f

输出:

directory1/my-File1.txt
directory1/my-file.txt
directory2/my-File2.txt
directory2/my-file2.txt
directory3/File4.txt
directory3/file2.png

要仅查找可执行文件,请使用带有 x 指示符的 -t 选项:

fd -t x

要仅查找空文件和目录,请使用带有 e 指示符的 -t 选项:

fd -t e

按扩展名查找文件

我们可以使用 -e 选项按扩展名查找文件。

要查找所有 .png 文件,请运行以下命令:

fd -e png

输出:

directory3/file2.png

要查找 text 和 png 文件,请运行以下命令:

fd -e png -e txt

输出:

directory1/my-File1.txt
directory1/my-file.txt
directory2/my-File2.txt
directory2/my-file2.txt
directory3/File4.txt
directory3/file2.png

按位置查找文件

我们可以使用 -p 选项从指定位置查找文件。

fd file.txt -p directory1

输出:

directory1/my-file.txt

我们还可以从多个位置找到所有文件。

例如,要从 directory1 和 directory2 中查找所有常规文件,请运行以下命令:

fd . ./directory1 ./directory2 -t f

输出:

directory1/my-File1.txt
directory1/my-file.txt
directory2/my-File2.txt
directory2/my-file2.txt

按大小查找文件

我们可以使用 -S 选项按文件大小查找文件。

例如,要查找大小为 1 MB 或更大的所有文件,请运行以下命令:

fd -S +1m

如果要查找大小为 1 MB 或更小的所有文件,请运行以下命令:

fd -S -1m

按数据查找文件

fd 命令还允许我们根据创建日期查找文件。 我们可以指定一周、一天、时间或日期的持续时间。

例如,查找“2022-02-02 10:00:00”之前更改的所有文件,运行以下命令:

fd -t x --changed-before "2022-02-02 10:00:00"

要查找两周内更改的所有文件,请运行以下命令:

fd -t x --changed-within 2week

要查找在五天内更改的所有文件,请运行以下命令:

fd -t x --changed-within 5day

在这篇文章中,我们通过不同的示例解释了 fd 命令,以向我们展示如何使用自定义参数查找文件。 在 的 VPS 主机上试一试!

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论