如何find一个文件

我正在使用Linux服务器和一个文件丢失,我需要find所有匹配名称MyMissingFile的文件…我怎样才能发出一个命令,将执行一个recruivesearch用户文件夹下的所有目录,并告诉我在哪里文件是
我不是root用户。 谢谢

怎么样

cd <userfolder> find . -name <filename> -print 

顺便说一下,文件名可以包含模式,和

从而

  find . -name '*MyMissingFile*' -print 

有几种方法来查找文件。

最简单的一个可能是使用locate命令。 该命令使用已知文件的caching。 为了使用它,你需要使用updatedb来确保caching是最新的。 在你的情况下,你将不得不相信它是最新的,因为你不是根,不能更新数据库。 要使用locate ,请键入:

 $ locate MyMissingFile 

如果您只需要称为“MyMissingFile”的文件,请使用:

 $ locate MyMissingFile | grep "/MyMissingFile$" 

现在如果你知道你的文件在哪个目录下,你可以使用findfind不依赖于caching数据库,并将recursion扫描目录并打印find的所有文件。 有大量的选项来过滤find的文件(见man find列出它们),包括一个-name选项来过滤文件名。 像这样使用它:

 $ find $yourdirectory -name MyMissingFile 

这将匹配名称完全是“MyMissingFile”的文件。 要匹配包含“MyMissingFile”的名称,请使用:

 $ find $yourdirectory -name "*MyMissingFile*" 

请注意, locate通常比find快得多,因为它在caching中有答案,而find需要读取给定目录下的所有文件。

 locate -r '/MyMissingFile$' 

比使用grep的build议更有效率。 但不是每个版本的定位接受-r(尽pipe在GNU findutils中定位)。