如何在linux上使用fd命令

在Linux上,fd是find命令的一个更简单的替代方法。它有一个简化的语法,使用合理的默认值,并具有内置的常识行为。让我们看看它的步调。...

在Linux上,fd是find命令的一个更简单的替代方法。它有一个简化的语法,使用合理的默认值,并具有内置的常识行为。让我们看看它的步调。

fd和find有什么区别?

fd命令并不意味着要取代传统的find命令,find命令在Linux上已经存在了很久。相反,fd试图以一种更直接的方式满足find的大多数常见用法,而且它通常比find快八到九倍。您可以在项目的GitHub存储库页面上看到它的一些基准测试。

fd具有彩色输出,类似于一些ls模式。它是递归的,但默认情况下不搜索隐藏目录。它了解Git,也会自动忽略“.gitignore”文件中的任何模式。

fd默认不区分大小写。但是,如果您的搜索模式包含大写字母,fd将以区分大小写的模式运行。当然,您可以覆盖默认值,但在许多情况下,它们对您有利。

相关:如何使用所有Linux的搜索命令

安装fd

由于ubuntu19.04(Disco Dingo,),您可以通过使用apt get调用官方维护的包来直接安装fd。如果您运行的是较旧版本的Ubuntu,请查看Git hub页面上的安装说明。

键入以下内容:

sudo apt-get install fd-find

如何在linux上使用fd命令

在Ubuntu中,命令fdfind可避免与其他现有实用程序发生名称冲突。如果希望它是fd,可以设置别名:

alias fd=fdfind

如何在linux上使用fd命令

要使别名持久化以便在重新启动后仍然可用,请将其放入“.bashrc”或“.bash\u aliases”文件中。

相关:如何在Linux上创建别名和Shell函数

要在Fedora上安装fd,请键入以下命令:

sudo dfn install fd-find

如何在linux上使用fd命令

在Manjaro上,键入以下内容:

sudo pacman -Syu fd

如何在linux上使用fd命令

fd与fdfind

为了避免混淆,我们在Ubuntu测试PC上保留了默认名称fdfind的命令。fd和fdfind是完全相同的命令,正如您在下面的示例中看到的(如果您要求fdfind显示其版本,它将自己称为“fd”):

fdfind --version

如何在linux上使用fd命令

我们将调用命令“fed”,但在示例中,我们将使用Ubuntu“fdfind”。在其他Linux发行版上,可以键入“fd”而不是“fdfind”来保存一些击键。

带fd的简单搜索

如果在没有命令行选项的情况下使用fd,它的行为有点像ls,只是默认情况下它列出子目录中的文件。

键入以下内容:

fdfind

如何在linux上使用fd命令

对于不同的文件类型和目录,输出以不同的颜色显示。

如何在linux上使用fd命令

要查看特定类型的文件,请使用-e(扩展名)选项。请注意,扩展名前面不必加句点(.),也不区分大小写。

例如,可以键入以下内容:

fdfind -e png

如何在linux上使用fd命令

现在,列出的文件只有PNG图像文件。

如何在linux上使用fd命令

要查找单个文件,请在命令行中键入其名称,如下所示:

fdfind index.page

如何在linux上使用fd命令

文件被找到,并且恰好位于子目录中。我们不必告诉fd递归搜索。

要在特定目录中开始搜索,请在命令行中包含文件路径。以下命令将在“/etc”目录中开始搜索,并查找文件名中包含“passwd”的文件:

fdfind passwd /etc

如何在linux上使用fd命令

在这里,我们正在搜索文件名中包含“coord”的所有C源代码文件:

fdfind -e c coord

如何在linux上使用fd命令

找到了两个匹配的文件。

fd和git

Git是一种非常流行的源代码版本控制系统。如果您在计算机上使用Git,您可能会使用“.gitignore”文件来告诉Git它应该关心哪些文件,哪些文件可以忽略。默认情况下,fd尊重“.gitignore”文件中的设置。

在这个目录中,我们有一个Git存储库和“.gitignore”文件。我们键入以下内容:

ls -adl .git*

如何在linux上使用fd命令

让我们让fd列出文件名中包含“coord”的所有文件。然后我们将重复搜索并使用-I(no ignore)选项。这告诉fd忽略“.gitignore”文件中的设置并报告每个匹配的文件。

要执行所有这些操作,请键入以下内容:

fdfind coord fdfind coord -I

第二组结果中的两个额外文件是对象文件。它们是在编译文件程序时创建的。然后链接器使用它们来创建程序的最终可执行版本。

目标文件通常被源代码版本控制程序忽略。每次编译程序时都会重新生成它们,因此不必存储它们的副本。“.gitignore”文件中有一个条目指示Git忽略对象文件,默认情况下,fd也会忽略它们。

I(no ignore)选项强制fd返回它找到的所有内容,而不是由“.gitginore”文件引导。

文件类型和区分大小写

您可以要求fd查找目录、文件(包括可执行文件和空文件)和符号链接。您可以使用-t(type)选项,后跟下面的一个字母来执行此操作:

  • f:文件。
  • d:目录。
  • l:符号链接。
  • x:可执行文件。
  • e:空文件。

下面查找名为images的目录:

fdfind -td images

如何在linux上使用fd命令

找到匹配项,比当前子目录低一个子目录。

让我们看看区分大小写是如何与搜索模式一起工作的。我们键入以下命令,首先搜索文件名中包含“geo”的文件,然后搜索文件名中包含“geo”的文件:

fdfind -tf geo fdfind -tf Geo

如何在linux上使用fd命令

在第一个命令中,我们使用了小写搜索模式,这使得fd以不区分大小写的方式进行操作。这意味着“Geo”和“Geo”都是有效的匹配。

我们的第二个命令包含一个大写字符,这使得fd以区分大小写的方式运行。这意味着只有“Geo”是有效匹配。

命令执行

fd命令允许您启动另一个命令并对找到的每个文件执行它。

假设我们知道在源代码目录树的某个地方有一个Zip文件。我们可以使用以下命令查找它,该命令搜索具有ZIP扩展名的文件:

fdfinf -e zip

如何在linux上使用fd命令

使用-x(exec)选项,可以将找到的每个文件传递给另一个命令,由它来处理。例如,我们可以键入以下内容来调用unzip实用程序来解压缩ZIP文件(“{}”是表示找到的文件的占位符):

fdfind -e zip -x unzip {}

这将解压当前工作目录中的文件。如果要在包含ZIP文件的目录中解压缩,可以使用以下占位符之一:

  • {}:找到的文件的完整路径和名称。
  • {/}:找到的文件的文件名。
  • {//}:包含找到的文件的目录。
  • {/}:找到的文件的文件名,不带扩展名。

要在包含ZIP文件的目录中找到并解压缩该文件,可以使用unzip-d(directory)选项,并传入父目录占位符({//}):

fdfind -e zip -x unzip {} -d {//}

然后找到ZIP文件并在其父目录中解压。

如何在linux上使用fd命令

你要去找谁?

因为它以如此简单的方式涵盖了最常见的用法,fd可以很容易地成为您的go to“find”命令。每当你需要它更先进的功能,你总是可以回到那个经验丰富的老手,找到。

  • 发表于 2021-04-01 21:52
  • 阅读 ( 167 )
  • 分类:互联网

你可能感兴趣的文章

在linux中运行ms dos游戏和应用程序的3种方法

... 你最喜欢的DOS游戏是什么?如何在Linux上运行DOS?你认为我们会摆脱DOS吗?请在下面的评论中告诉我们! ...

  • 发布于 2021-03-11 18:00
  • 阅读 ( 249 )

如何在linux下配置raid硬盘阵列

有备用硬盘,你想更有效地使用你的Linux电脑?RAID可以提供性能提升或添加冗余,具体取决于它的配置方式。让我们快速进入多磁盘世界。 ...

  • 发布于 2021-03-12 05:36
  • 阅读 ( 203 )

如何在linux上安装和使用powershell

... 在本文中,我将向您展示如何在Linux上安装、运行和使用PowerShell! ...

  • 发布于 2021-03-16 02:34
  • 阅读 ( 303 )

如何在android和termux上使用linux命令行

...许您在Android设备上安装诚实善良的Linux应用程序。下面是如何使用Termux应用程序。 ...

  • 发布于 2021-03-18 07:26
  • 阅读 ( 367 )

如何在windows10上获得linux bash shell

... 如何在windows10上安装linux bash shell ...

  • 发布于 2021-03-21 11:48
  • 阅读 ( 282 )

linux下如何重命名文件

要在Linux中重命名文件吗?如果您知道如何在Windows、macOS或Chrome操作系统中完成这项工作,那么您就知道如何在这里完成这项工作。在大多数版本的Linux上,您只需右键单击一个文件并选择Rename选项。 ...

  • 发布于 2021-03-22 02:48
  • 阅读 ( 269 )

linux正在吃掉你的公羊吗?如何管理你的记忆

...的内存。为了理解到底发生了什么,我们必须看看Linux是如何管理内存的。 ...

  • 发布于 2021-03-23 08:31
  • 阅读 ( 310 )

如何在linux上使用groupadd管理用户组

... 相关:如何在Linux中更改密码 ...

  • 发布于 2021-03-26 17:15
  • 阅读 ( 183 )

如何在linux中添加用户

想在Linux系统上添加用户但不知道如何添加?在Linux上使用命令行界面管理用户无疑是一项复杂的工作。而对于初学者来说,即使添加新用户也是一场噩梦。 ...

  • 发布于 2021-03-26 23:29
  • 阅读 ( 331 )

在linux中,“bash”是什么意思?

...在这篇短文中,我们将探讨Bash是什么,它做什么,以及如何开始使用它。 ...

  • 发布于 2021-03-28 13:14
  • 阅读 ( 449 )
b279216369307
b279216369307

0 篇文章

相关推荐