收集云服务器优惠信息
记录云服务器使用心得

Linux Fd命令:快速文件搜索“Find”命令的最佳替代品

大多数Linux用户都非常熟悉find命令以及它的常见使用方法,不过今天要说的是find命令有效替代方法,称为fd命令。

fd是一个简单、快速且用户友好的工具,与find命令相比,它的执行速度更快。但是,它并不是要完全取代find,而是为用户提供一个执行速度稍快的易于使用的替代方案。fd命令的一些显着特征包括:

  • 易于使用的语法——fd *pattern*而不是find -iname *pattern*
  • 彩色输出,类似于ls命令。
  • 快速的性能,开发人员的基准可在此处获得。
  • 默认情况下不区分大小写的智能搜索,如果模式容器是大写符号,则切换到区分大小写。
  • 默认情况下不查看隐藏文件和目录。
  • 默认情况下不查看.gitignore

如何在Linux中安装fd命令

下面简单说了使用默认包管理器在不同的Linux发行版中安装fd命令,具体如下:

$ sudo apt install fd-find  [Debian、Ubuntu和Mint] 
$ sudo emerge -a sys-apps/fd  [Gentoo Linux] 
$ sudo dnf install fd-find  [Fedora 28版本以上] 
$ sudo pacman -S fd  [Arch Linux] 
$ sudo zypper install fd  [OpenSUSE]   
$ sudo apk add fd  [Alpine Linux]    

另外,在RedHat Enterprise Linux 8 (RHEL8)、Almalinux 8、EuroLinux 8、CentOS 8、Fedora以及Rocky Linux 8系统上安装如下。

首先从github上的sharkdp获取最新的fd-v*-x86_64-unknown-linux-gnu.tar.gz压缩文件,然后按照下面操作进行:

tar xf fd-v*-x86_64-unknown-linux-gnu.tar.gz
chown -R root:root fd-v*-x86_64-unknown-linux-gnu
cd fd-v*-x86_64-unknown-linux-gnu
sudo cp fd /bin
gzip fd.1
chown root:root fd.1.gz
sudo cp fd.1.gz /usr/share/man/man1
sudo cp autocomplete/fd.bash /usr/share/bash-completion/completions/fd
source /usr/share/bash-completion/completions/fd
fd

注意:将上面fd-v*-x86_64-unknown-linux-gnu.tar.gz替换成相应最新版本即可。

如何在Linux中使用fd命令

与find命令类似,fd有很多用例,首先从检查可用选项开始吧:

# fd -h
或者
# fd --help

fd命令

接下来看几个例子。你可以不带任何参数运行fd,其输出与ls -R命令非常相似:

# fd

在接下来的fd示例中,小编将使用位于/var/www/html/的默认WordPress安装目录来搜索不同的文件和文件夹。

在下面的示例中,小编只输出了使用head命令进行管道重定向的较短输出的前10个结果,具体如下:

# fd | head
fd命令示例

在Linux中查找所有JPG文件

假设要查找所有jpg文件,可以使用“-e”标志来按文件扩展名进行过滤:

# fd -e jpg

fd – 查找JPG文件

如果要指定搜索目录,只需将其作为参数提供:

# fd <pattery> <directory>

在目录中查找JPG文件

在Linux中搜索所有PHP文件中的字符串

“-e”标志可以与模式结合使用,如下所示:

# fd -e php index

上面的命令将查找具有.php扩展名并在其中包含字符串“ index ”的文件:

fd——在文件中查找字符串

如果你想排除一些结果,可以使用如下所示的“-E”标志:

# fd -e php index -E wp-content

此命令将查找所有扩展名为php的文件,其中包含字符串“ index ”,并排除“ wp-content ”目录中的结果。

fd – 在文件中搜索字符串时排除文件

查找所有JPG文件并修改权限

与find命令一样,你可以使用-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 )。
  • {/.}: 只有基本名称,没有扩展名 ( 01 )。

结论

以上就是对fd命令的简要回顾,一些用户可能会发现它更易于使用且速度更快。正如本文前面提到的,fd并不是要完全取代find命令,而是提供一种简单的用法、更容易的搜索和更好的性能。另外,fd命令不占用太多空间,是一个很好用的工具。

简单来说,在Unix或Linux系统中,”fd”命令是”find”命令的一个简化版本,用于在指定路径下搜索文件和目录。如果想了解fd命令更具体的使用方法,也可以去GitHub官网搜索“fd”进入详情页面了解。

赞(0)
网站声明:本文内容由趣云笔记原创,部分资源收集于网络,如有侵权请联系企鹅:2472781824删除。
文章名称:《Linux Fd命令:快速文件搜索“Find”命令的最佳替代品》
文章链接:https://www.ecscoupon.com/758.html
本站资源仅供个人学习交流,未经允许不得转载,更不允许用于商业用途。如需转载,请注明来源,感谢理解!