2012-07-16 54 views
0

用来搜索包含“abc”的目录或文件的最简单命令是什么?在UNIX中搜索目录或文件的最简单方法?

+0

第一步:澄清你想要的。你想要一个名称包含字符串'abc',或者其内容包含'abc',或者其内容完全是'abc'的文件吗?你想要一个名称包含'abc'的目录,或者一个包含'abc'文件的目录,或者其内容中包含'abc'文件的目录? – 2012-07-16 18:46:45

回答

4

可以使用find命令:

find . -name "*abc*" 

上面的命令将搜索包含“ABC”当前目录(及其所有子目录)中的任何文件或目录。

0

这应该这样做

find/-iname "*abc*" 
1

locate命令

locate "*abc*" 

也适用于除了已经提到的find命令。

注意,这个工程很快通过查询创建的数据库/更新/由通常定期运行的cron作业的updatedb命令维护。然而,这意味着如果文件刚刚创建,您可能无法找到该文件,直到updatedb再次运行(或者假设您拥有sudo权限,则自行运行它)。在这些情况下,find可能是您最好的选择,但速度较慢,因为它会搜索您当时指定的目录。

+0

这是更快,但要求该文件位于由updatedb索引的位置。 – jordanm 2012-07-16 18:49:33

+0

@jordanm在我工作过的大多数(所有?)系统上都是正确的(updatedb)作为cron作业定期运行,但提到这点可能是个好主意。感谢提醒我,我会添加一个注释。 – Levon 2012-07-16 18:50:48

+0

我实际上在Gow上,所以命令不起作用。但是,谢谢!我会在linux盒子上试用 – antonpug 2012-07-16 18:54:48