文件和文件夹镜头可用于轻松定位用户的文档,但它似乎忽略了系统文件和文件夹。
如何搜索和定位系统文件和文件夹?
(比如说,我想找到一个名为 .metadata 的文件夹,其中包含我的 Eclipse IDE 的一些设置,并且我知道这个文件夹位于文件系统的某个地方,但我不知道在哪里)
我使用 12.04 LTS
答案1
您可以使用find
带参数的命令来查找文件夹-type d
。以下是几个示例:
#Search Root ( / ) folder for a folder called www
nits@excalibur:~$ sudo find / -name www -type d
/media/6E5E0E255E0DE6A5/cygwin/srv/www
/media/6E5E0E255E0DE6A5/cygwin/usr/share/doc/ImageMagick-6.4.0.6/www
/media/6E5E0E255E0DE6A5/cygwin/usr/share/doc/GraphicsMagick/www
/media/6E5E0E255E0DE6A5/cygwin/var/www
/media/6E5E0E255E0DE6A5/wamp/www
#Search current folder for a folder which start either Capital/lower-case M
nits@excalibur:~$ find . -iname m* -type d
./.local/share/telepathy/mission-control
./.config/menus
./.mozilla/firefox/vwfuj46p.default/minidumps
./.cache/indicators/messages
./.cache/chromium/Default/Media Cache
./Music
./.macromedia/Flash_Player/macromedia.com
./.jedit/macros
./.jedit/modes
./.gconf/apps/metacity
在上面的例子中,您可能注意到只列出了没有子目录的目录。您可以使用来mindepth/maxdepth
设置需要遍历的层级深度。
#Search current directory for directories starting with either capital/lower-case M but only are present in the current directory
nits@excalibur:~$ find . -maxdepth 1 -iname m* -type d
./Music
# Traverse two levels (current level and one level under) in the current directory for directories starting with either capital/lower-case M:
nits@excalibur:~$ find . -maxdepth 2 -iname m* -type d
./.config/menus
./Music
./.jedit/macros
./.jedit/modes
使用 有很多不同的选项可以搜索目录和文件 find
,您可以查看 的手册页以了解man find
所有选项及其使用方法。此外,尽管find
比 慢,但locate
它不需要updatedb
更新数据库来搜索,因为搜索是实时执行的。
答案2
使用定位命令。它使用通过以下方式更新的数据库更新数据库。我有一个 cron 作业,每小时运行一次 updatedb,以使数据库保持最新。