fd 是一个超快速的、基于 Rust 构建的 Unix/Linux find
命令的替代品。它没有镜像 find
的所有强大功能;但是,它提供了足够的功能来覆盖您可能遇到的 80% 的用例。诸如经过深思熟虑且方便的语法、彩色输出、智能大小写、正则表达式和并行命令执行等功能使 fd
成为一个非常合格的继任者。
安装
前往 fd GitHub 页面,查看关于安装的部分。它涵盖了如何在 macOS、Debian/Ubuntu、Red Hat 和 Arch Linux 上安装该应用程序。安装完成后,您可以通过运行 fd -h
获取简洁的帮助,或运行 fd --help
获取更详细的帮助,从而全面了解所有可用的命令行选项。
简单搜索
fd
旨在帮助您轻松地在操作系统的文件系统中查找文件和文件夹。您可以执行的最简单的搜索是使用单个参数运行 fd
,该参数是您要搜索的内容。例如,假设您想查找文件名中包含 services
单词的 Markdown 文档
$ fd services
downloads/services.md
如果仅使用单个参数调用,fd
将在当前目录中递归搜索与您的参数匹配的任何文件和/或目录。使用内置 find
命令的等效搜索如下所示
$ find . -name 'services'
downloads/services.md
如您所见,fd
更加简单,需要的输入更少。以更少的输入完成更多工作在我看来始终是制胜之道。
文件和文件夹
您可以使用 -t
参数来限制搜索文件或目录,后跟代表您要搜索内容的字母。例如,要在当前目录中查找文件名中包含 services
的所有文件,您将使用
$ fd -tf services
downloads/services.md
要在当前目录中查找文件名中包含 services
的所有目录
$ fd -td services
applications/services
library/services
如何列出当前文件夹中所有扩展名为 .md
的文档?
$ fd .md
administration/administration.md
development/elixir/elixir_install.md
readme.md
sidebar.md
linux.md
从输出中可以看出,fd
不仅找到了并列出了当前文件夹中的文件,还找到了子文件夹中的文件。非常棒。您甚至可以使用 -H
参数搜索隐藏文件
fd -H sessions .
.bash_sessions
指定目录
如果要搜索特定目录,可以将目录名称作为 fd
的第二个参数给出
$ fd passwd /etc
/etc/default/passwd
/etc/pam.d/passwd
/etc/passwd
在本例中,我们告诉 fd
我们想要在 etc
目录中搜索单词 passwd
的所有实例。
全局搜索
如果您知道文件名的一部分但不知道文件夹怎么办?假设您下载了一本关于 Linux 网络管理的书,但您不知道它保存在哪里。没问题
fd Administration /
/Users/pmullins/Documents/Books/Linux/Mastering Linux Network Administration.epub
总结
fd
实用程序是 find
命令的绝佳替代品,我相信您会发现它和我一样有用。要了解有关该命令的更多信息,只需浏览相当详尽的 man 手册。
9 条评论