大多数Linux用户都非常熟悉find命令以及可以使用的许多情况。 今天我们将回顾一个替代find命令 ,称为fd 。
fd ,是一个简单,快速且用户友好的工具,与find相比,它的执行速度更快。 它并不是要完全取代find ,而是为您提供一种易于使用的替代方案,其执行速度稍快一些。
fd的一些显着特征:
- 易于使用的语法 – fd * pattern *而不是find -iname * pattern * 。
- 多彩输出类似于ls命令之一 。
- 性能快。 开发人员的基准测试可在此处获得 。
- 默认情况下,智能搜索不区分大小写,如果图标容器为大写符号,则切换为区分大小写。
- 默认情况下不查看隐藏文件和目录 。
- 默认情况下不会查看.gitignore 。
- Unicode意识。
如何在Linux中安装fd
我们将看看如何在不同的Linux发行版中安装fd 。
对于基于Ubuntu和Debian的发行版,您需要从发布页面下载最新的fd版本并使用以下命令进行安装。
$ wget https://github.com/sharkdp/fd/releases/download/v7.3.0/fd-musl_7.3.0_amd64.deb$ sudo dpkg -i fd-musl_7.3.0_amd64.deb
在其他Linux发行版上,您可以使用包管理器从默认存储库安装fd,如图所示。
# dnf install fd-find [On Fedora]# pacman -S fd [On Arch Linux]# emerge -av fd [On Gentoo]# zypper in fd [On OpenSuse]
如何在Linux中使用fd
与find命令类似, fd有很多用例,但让我们从检查可用选项开始:
# fd -hOR# fd --help
我们来看看几个例子。 您可以在没有任何参数的情况下运行fd ,输出与ls -R命令非常相似。
# fd
在下一个fd示例中,我将使用位于/var/www/html/
的默认WordPress安装来搜索不同的文件和文件夹 。
在下面的示例中,我仅使用前10个结果来缩短命令输出。
# fd | head
假设我们想找到所有的jpg文件。 我们可以使用“-e”
标志来过滤文件扩展名:
# fd -e jpg
“-e”
标志可以与这样的模式结合使用:
# fd -e php index
上面的命令将查找扩展名为php的文件,并在其中包含字符串“ index ”:
如果要排除某些结果,可以使用“-E”
标志,如下所示:
# fd -e php index -E wp-content
此命令将查找具有php扩展名的所有文件,其中包含字符串“ index ”,并将排除“ wp-content ”目录中的结果。
如果要指定搜索目录,只需将其作为参数提供:
# fd <pattery> <directory>
就像查找一样 ,您可以使用-x
或--exec
参数来执行搜索结果的并行命令执行。
这是一个示例,我们将使用chmod来更改图像文件的权限
# fd -e jpg -x chmod 644 {}
以上将找到扩展名为jpg的所有文件,并将运行chmod 644 <path-to-file>
。
以下是括号的一些有用的解释和用法:
-
{}
– 将使用搜索结果的路径更改的占位符( wp-content / uploads / 01.jpg )。 -
{.}
– 类似于{}
,但不使用文件扩展名( wp-content / uploads / 01 )。 -
{/}
:占位符将替换为搜索结果的基本名称(01.jpg )。 -
{//}
:发现路径的父目录( wp-content / uploads )。 -
{/.}
:只有basename,没有扩展名( 01 )。
结论
这是对fd命令的简要回顾,一些用户可能会发现更容易使用和更快。 正如本文前面提到的, fd并不是要完全取代find ,而是提供简单的用法,更容易的搜索和更好的性能。 Fd不占用太多空间,是你的武器库中的一个很好的工具。