在 Linux 中查找文件和目录是任何系统管理员的基本技能。fd 命令是一个命令行工具,用于在 Linux 中查找文件和目录。它是 find 命令的一种简单快速的替代方法。与 find 命令相比,fd 命令语法更直观,输出彩色,搜索速度更快。它还支持使用正则表达式,默认可以忽略隐藏的文件和目录。
在这篇文章中,您将学习如何在 Linux 中使用 fd 命令查找文件。
先决条件
- 运行 Linux 的服务器
- 在您的服务器上配置的 root 密码
安装 fd 命令
默认情况下,fd 命令包含在所有主要操作系统的默认存储库中。
对于 Debian 和 Ubuntu 操作系统,使用以下命令安装 fd 命令:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install fd-find -y
对于 RHEL、Rocky Linux 和 Fedora 操作系统,使用以下命令安装 fd 命令:
linuxmi@linuxmi:~/www.linuxmi.com$ sudodnf install fd-find -y
Arch Linux 下安装 fd 命令:
[root@linuxmi www.linuxmi.com]# pacman -S fd
安装 fd 命令后,可以使用以下命令查看 fd 命令的版本:
linuxmi@linuxmi:~/www.linuxmi.com$ fdfind --version
或者
[linuxmi@linuxmi www.linuxmi.com]$ fd --version
您将获得以下输出:
fd 8.3.1
Arch Linux 的版本新一点,输出:
fd 8.3.2
fd 命令的基本语法
fd 命令的基本语法如下所示:
fd [选项] [模式] [路径]
每个选项的简要说明如下所示:
- -H – 在搜索结果中包含隐藏文件和目录。
- -I – 显示将被 .gitignore、.ignore 或 .fdignore 文件忽略的搜索结果。
- -s – 执行区分大小写的搜索。
- -i – 执行不区分大小写的搜索。
- -a – 显示绝对路径而不是相对路径。
- -L – 遵循符号链接。
- -j – 用于定义用于搜索的线程数。
fd 命令基本用法
使用不带任何选项的 fd 命令将搜索当前工作目录中的所有文件和目录:
[linuxmi@linuxmi www.linuxmi.com]$ fd
您将获得以下输出:
默认情况下,fd 命令不会在输出中显示隐藏文件。您可以使用 -H 选项列出所有文件,包括隐藏文件。
[linuxmi@linuxmi www.linuxmi.com]$ fd -H
输出:
使用 -p 选项搜索指定目录中的所有文件:
[linuxmi@linuxmi ~]$ fd -p Desktop
输出:
[linuxmi@linuxmi ~]$ fd -p Desktop
Desktop
Desktop/linuxmi
Desktop/linuxmi.com
Desktop/www.linuxmi.com
Desktop/www.linuxmi.com/www.linuxmi.com.jpg
查找字符串匹配的文件
您可以使用 -F 选项来查找与包含正则表达式的字符串匹配的文件。
[linuxmi@linuxmi ~]$ fd -F linuxmi
输出:
查找区分大小写的文件
您可以使用 -s 选项启用区分大小写并在结果中仅显示区分大小写的文件。
[linuxmi@linuxmi ~]$ fd -s Linux
输出:
按类型查找文件
您可以使用-t选项按文件类型查找文件。
例如,要查找当前工作目录中的所有目录和子目录,请运行以下命令:
[linuxmi@linuxmi ~]$ fd -td
输出:
要仅查找常规文件,请使用带有 f 指示符的 -t 选项:
fd -tf
输出:
要仅查找可执行文件,请使用带有 x 指示符的-t选项:
[linuxmi@linuxmi run]$ fd -tx
要仅查找空文件和目录,请使用带有e指示符的 -t 选项:
[linuxmi@linuxmi run]$ fd -te
按扩展名查找文件
您可以使用-e选项按扩展名查找文件。
要查找所有 .png 文件,请运行以下命令:
[linuxmi@linuxmi ~]$ fd -e png
输出:
要查找 text 和 png 文件,请运行以下命令:
[linuxmi@linuxmi ~]$ fd -e png -e txt
按位置查找文件
您可以使用-p选项从指定位置查找文件。
[linuxmi@linuxmi ~]$ fd linuxmi.txt -p /usr
输出:
按大小查找文件
您可以使用 -S 选项按文件大小查找文件。
例如,要查找大小为 50 kb 或更大的所有文件,请运行以下命令:
[linuxmi@linuxmi ~]$ fd -S +50k
如果要查找大小为 50kb 或更小的所有文件,请运行以下命令:
[linuxmi@linuxmi ~]$ fd -S -50k
结论
在这篇文章中,我们通过不同的示例解释了 fd 命令,以向您展示如何使用自定义参数查找文件。