如何在Linux上找到目录?


453

我在Suse Linux 10.3上具有VPS 。

我已经通过SSH / putty登录,并试图找到我的Web文件所在的位置。

由于我是通过FTP上传到名为httpdocs的目录中的,因此我假定该目录存在于某个地方。

我的Google搜索教我如何执行此操作,请转到我的根目录并输入:

find httpdocs -type d

但显示“ 没有这样的文件或目录 ”。

如何找到该目录?


4
如果有人想知道,问题中的命令会在-type d目录条目中找到所有目录()httpdocs(相对于当前工作目录,通常但不一定是目录)。它失败并显示错误消息,因为httpdocs系统的根目录中没有目录条目,因此没有搜索起点。
丹尼尔·贝克

Answers:


609

它是:

find / -type d -name 'httpdocs'

第一个参数“ /”是查找位置,在这种情况下,“ /”是整个系统。

-name可以是-iname以忽略大小写

还-type不是必需的

用途:寻找更多选择的人


2
查找/-名称'httpdocs'的工作非常感谢
Edward Tanguay

91
对于简单的搜索来说可能并不重要,但是对于更复杂的find命令,值得注意的是,事物是按照它们在命令行中的顺序进行评估的。因此,您可能希望在-name之前使用-type d(仅目录),以加快处理速度。同样,在这里这可能无关紧要,但是当进入更复杂的搜索时,它可以大大提高搜索速度。
Dominic Eidson

14
实际上,该-name测试比大多数其他测试都要快,因为-name它与已经从磁盘加载的目录列表相匹配,并且其他测试需要执行stat(2)来获取文件信息。首次stat()调用文件后,将从内存中进行后续测试,例如:-type f -mtime -10
Arcege 2011年

24
如果要在整个文件系统(尤其是服务器)上执行查找,那么通常使用它很好,nice这样查找就不会占用更多关键过程中的太多资源:nice find / ...
Arcege 2011年

16
我会附加2> / dev / null以避免我的搜索结果隐藏在所有权限错误中。
詹森·杨

63

该命令将为您提供所需的信息:

find / -type d -name httpdocs

将从服务器的根目录中搜索名称为httpdocs的目录,或者如果您仅想从当前目录中搜索目录,则将“ /”替换为“。”。

您可以尝试的另一个命令是找到您将执行的操作:

locate httpdocs

定位httpdocs告诉我“定位:找不到命令”
Edward Tanguay

4
对于那些使用“ locate”命令的用户(假设它存在于您的系统中),请确保它查找的数据库是最新的;通常,一些cron工作会处理它。否则,请运行“ updatedb”(是root)。然后运行所需的“查找<somefile>”。这对于查找最近添加的文件/目录是必需的。
大卫·拉米雷斯

+1查找。这是很多快,但只有当它的指数是最新的。幸运的是,像“ httpdocs”这样的东西不会经常更改位置。如果您打算重复搜索计算机上的文件,那么值得花费几分钟的时间来设置updated cron作业。
道格·哈里斯

1
同样在很多情况下,locate将返回太多结果,因为该目录中的所有100k文件都会显示。在这种特殊情况下,如果每个用户都有自己的带有100或1000个文件的httpdocs,则OP想要的结果可能会丢失。
Jistanidiot

+1定位...我保持数据库更新,因此此命令非常有用...好主意。
nicorellius 2014年


13

重要的是要知道参数-iname来搜索“不区分大小写”模式和通配符的使用:* 、?等。

两个例子:

从/ root搜索所有包含字符串“ Linux”的文件,不区分大小写:

find  /root -type f -iname "*linux*"

从/ root搜索所有包含字符串“ Linux”的目录,不区分大小写:

find  /root -type d -iname "*linux*"

从这里摘录:

http://www.sysadmit.com/2015/12/linux-buscar-ficheros-directorios-con-find.html


这个问题是关于如何找到一个您知道其名称的目录,而不是如何找到一个您知道其名称(近似)的目录。此外,已接受的答案(来自6年前!)已提及-iname是的不区分大小写的替代方案-name
G-Man

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.