优秀的Linux实用工具:古老的find命令的高级替代
共 3198字,需浏览 7分钟
·
2020-10-21 07:52
点击「阅读原文」查看良许原创精品视频。
点击「阅读原文」查看良许原创精品视频。
f: 文件
d: 目录
l: 符号链接
x: 可执行文件
e: 空文件
下面寻找一个名为images的目录:
linuxmi@linuxmi:~/www.linuxmi.com$ fdfind -td images
找到匹配项,在当前目录下的一个子目录中。
让我们看看区分大小写如何与搜索模式一起工作。我们键入以下内容首先搜索文件名中包含“linux”的文件,然后搜索文件名中包含“Linux”的文件:
linuxmi@linuxmi:~/www.linuxmi.com$ fdfind -tf linux
linuxmi@linuxmi:~/www.linuxmi.com$ fdfind -tf Linux
在第一个命令中,我们使用了小写搜索模式,这导致fd以不区分大小写的方式进行操作。这意味着“linux”和“Linux”都是有效匹配。
第二个命令包含一个大写字符,这导致fd以区分大小写的方式进行操作。这意味着只有“Linux”是一个有效匹配。
命令执行
fd命令允许您启动另一个命令并在找到的每个文件上执行它。
假设我们知道源代码目录树中某处有一个Zip文件。我们可以使用以下命令来查找它,该命令搜索具有ZIP扩展名的文件:
linuxmi@linuxmi:~/linuxmi.com$ fdfind -e zip
使用-x(exec)选项,您可以将找到的每个文件传递给另一个命令,以供其处理。例如,我们可以键入以下内容来调用unzip实用程序以解压缩我们的ZIP文件(“ {}”是代表找到的文件的占位符):
linuxmi@linuxmi:~/linuxmi.com$ fdfind -e zip -x unzip {}
这将解压缩当前工作目录中的文件。如果我们想把它解压缩到包含ZIP文件的目录中,我们可以使用以下占位符之一:
{} – 一个占位符,它将随着搜索结果的路径改变(wp-content/uploads/01.jpg)。
{.} – 类似于{},但不使用文件扩展名(wp-content/uploads/01)。
{/}:将被搜索结果的基本名称 (01.jpg)所取代的占位符。
{//}:发现路径的父目录(wp-content/uploading)。
{/.}:只有基本名称,没有扩展名(01)。
为了找到我们的ZIP文件并将其解压缩到包含它的目录中,我们可以使用unzip -d(目录)选项,并传入父目录占位符({//}):
linuxmi@linuxmi:~/linuxmi.com$ fdfind -e zip -x unzip {} -d {//}
然后将ZIP文件定位并解压缩到其父目录中。
总结
这是对fd命令的简要回顾,一些用户可能会发现fd命令更容易使用,也更快。正如本文前面提到的,fd并不是完全替代find,而是提供简单的用法、更容易的搜索和更好的性能。在您的武器库中,fd不需要太多的空间,是一个很好的工具。
推荐阅读:
5T技术资源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,单片机,树莓派,等等。在公众号内回复「1024」,即可免费获取!!