Linux中一种友好的find替代工具

系统 Linux
fd 是一个超快的,基于 Rust 的 Unix/Linux find 命令的替代品。它不提供所有 find 的强大功能。但是,它确实提供了足够的功能来覆盖你可能遇到的 80% 的情况。

[[233637]]

fd 命令提供了一种简单直白的搜索 Linux 文件系统的方式。

fd 是一个超快的,基于 Rust 的 Unix/Linux find 命令的替代品。它不提供所有 find 的强大功能。但是,它确实提供了足够的功能来覆盖你可能遇到的 80% 的情况。诸如良好的规划和方便的语法、彩色输出、智能大小写、正则表达式以及并行命令执行等特性使 fd 成为一个非常有能力的后继者。 

安装

进入 fd GitHub 页面,查看安装部分。它涵盖了如何在macOSDebian/Ubuntu Red HatArch Linux 上安装程序。安装完成后,你可以通过运行帮助来获得所有可用命令行选项的完整概述,通过 fd -h 获取简明帮助,或者通过 fd --help 获取更详细的帮助。 

简单搜索

fd 旨在帮助你轻松找到文件系统中的文件和文件夹。你可以用 fd 带上一个参数执行最简单的搜索,该参数就是你要搜索的任何东西。例如,假设你想要找一个 Markdown 文档,其中包含单词 services 作为文件名的一部分:

  1. $ fd services
  2. downloads/services.md

如果仅带一个参数调用,那么 fd 递归地搜索当前目录以查找与莫的参数匹配的任何文件和/或目录。使用内置的 find 命令的等效搜索如下所示:

  1. $ find . -name 'services'
  2. downloads/services.md

如你所见,fd 要简单得多,并需要更少的输入。在我心中用更少的输入做更多的事情总是对的。

 

文件和文件夹

您可以使用 -t 参数将搜索范围限制为文件或目录,后面跟着代表你要搜索的内容的字母。例如,要查找当前目录中文件名中包含 services 的所有文件,可以使用:

  1. $ fd -tf services
  2. downloads/services.md

以及,找到当前目录中文件名中包含 services 的所有目录:

  1. $ fd -td services
  2. applications/services
  3. library/services

如何在当前文件夹中列出所有带 .md 扩展名的文档?

  1. $ fd .md
  2. administration/administration.md
  3. development/elixir/elixir_install.md
  4. readme.md
  5. sidebar.md
  6. linux.md

从输出中可以看到,fd 不仅可以找到并列出当前文件夹中的文件,还可以在子文件夹中找到文件。很简单。

你甚至可以使用 -H 参数来搜索隐藏文件:

  1. fd -H sessions .
  2. .bash_sessions 

指定目录

如果你想搜索一个特定的目录,这个目录的名字可以作为第二个参数传给 fd

  1. $ fd passwd /etc
  2. /etc/default/passwd
  3. /etc/pam.d/passwd
  4. /etc/passwd

在这个例子中,我们告诉 fd 我们要在 etc 目录中搜索 passwd 这个单词的所有实例。 

全局搜索

如果你知道文件名的一部分,但不知道文件夹怎么办?假设你下载了一本关于 Linux 网络管理的书,但你不知道它的保存位置。没有问题:

  1. fd Administration /
  2. /Users/pmullins/Documents/Books/Linux/Mastering Linux Network Administration.epub 

总结

fdfind 命令的极好的替代品,我相信你会和我一样发现它很有用。要了解该命令的更多信息,只需浏览手册页。

责任编辑:庞桂玉 来源: Linux中国
相关推荐

2020-07-17 07:00:00

GitHubgit开源

2021-10-19 09:00:00

KubeMQKubernetes工具

2020-05-11 08:00:00

监控工具加密开源

2020-12-14 06:43:02

并发编程JDK

2017-10-25 08:44:03

NVMe SSD数据存储

2021-12-10 11:30:58

Linux工具命令

2021-05-19 08:00:00

Linux开源程序

2012-01-17 11:02:39

2023-01-18 22:45:24

Linux命令

2024-02-27 09:39:07

C语言cJSON开发

2016-10-26 09:12:58

2020-09-09 14:22:48

数据中心

2017-05-10 10:53:01

互联网

2020-12-09 10:15:34

Pythonweb代码

2020-12-23 10:10:23

Pythonweb代码

2022-07-07 10:33:27

Python姿势代码

2022-06-22 09:44:41

Python文件代码

2024-04-02 10:38:29

开源Bruno开发

2010-12-01 12:41:41

2013-03-26 22:32:48

点赞
收藏

51CTO技术栈公众号