web-dev-qa-db-fra.com

Comment puis-je rechercher et localiser un dossier système

Fichiers et dossiers Lens peut être utilisé pour localiser facilement les documents de l'utilisateur, mais il semble ignorer les fichiers et les dossiers du système.

Comment puis-je rechercher et localiser les fichiers et les dossiers du système?

(Supposons par exemple que je souhaite localiser un dossier nommé .metadata, qui contient certains paramètres de mon IDE Eclipse, et que je sais que ce dossier se trouve quelque part dans le système de fichiers mais je ne sais pas où.)

J'utilise 12.04 LTS

1
DUKE

Vous pouvez utiliser la commande find pour rechercher des dossiers avec le paramètre -type d. Voici quelques exemples:

#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

Dans les exemples ci-dessus, vous auriez remarqué que seuls les répertoires ne contenant aucun sous-répertoire sont répertoriés. Vous pouvez utiliser mindepth/maxdepth pour définir la profondeur du niveau à traverser.

#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

Il existe toute une série d'options pour rechercher des répertoires et des fichiers à l'aide de find. Vous pouvez consulter la page de manuel accessible par man find pour connaître toutes les options et savoir comment l'utiliser. De plus, bien que find soit plus lent que locate, il n'est pas nécessaire que updatedb mette à jour un DB afin d'effectuer une recherche, car la recherche est effectuée en temps réel.

3
Nitin Venkatesh

Utilisez la commande localiser. Il utilise une base de données mise à jour via pdatedb. J'ai un travail cron qui exécute updatedb toutes les heures pour que la base de données soit à jour.

0
Tom