Le système de fichiers Linux prend-il en charge la recherche / indexation rapide des fichiers?

21

Je me demande pourquoi il n'y a pas d'outil qui permette de trouver des fichiers sur son disque dur très rapidement comme "tout rechercher". Tapez simplement une partie du nom de fichier et tous les fichiers contenant le mot-clé apparaîtront instantanément. N'est-il pas possible de concevoir un programme pour enregistrer les noms de tous les fichiers dans certains répertoires d'une base de données afin que vous puissiez rechercher rapidement dans la base de données des noms de fichiers?

hvjkjdtmkgh
la source
Une piqûre mineure, mais cela pourrait vous aider à mieux comprendre le système. En général, les systèmes de fichiers ne prennent pas directement en charge la recherche de fichiers ou la création d'index. Le travail du système de fichiers est de stocker des fichiers. La recherche et l'indexation sont effectuées par divers programmes utilitaires. C'est fait de cette façon parce que le système de fichiers est plus simple = moins de risques de bugs et cela permet à l'utilisateur de configurer le niveau de construction d'index et les zones qui devraient être les cibles.
Perkins

Réponses:

13

Exécutez sudo updatedbet locate [ filename or part ]
updatedbmettez à jour la base de données d'index.
Si vous souhaitez localiser un programme, exécutezwhereis [ program name ]

Gufran
la source
1
Bien, mais comment faire localiser la recherche dans un répertoire spécifique de Linux Mint?
hvjkjdtmkgh
bien à cet effet, vous pouvez utiliser la findcommande, utilisez-la comme ceci. find [path to directory] | grep "file name or part"Cette recherche sera récursive afin que vous puissiez simplement rechercher dans le répertoire de base et elle cherchera automatiquement le fichier dans n'importe quel sous-répertoire.
Gufran
Pour certains répertoires spécifiques:locate foo | grep /home/bar/baz
Scott Severance
Merci, mais pouvez-vous me donner un exemple? Je suis complètement nouveau sur linux. Sous Windows, vous écrivez D: \\ nom_fichier \ etc Quel est l'équivalent sous linux? De plus, cet outil possède-t-il une interface graphique pour que je puisse ouvrir le fichier directement?
hvjkjdtmkgh
des utilitaires comme locateou findsans interface graphique intégrée, vous pouvez utiliser un outil tiers comme catfish. Pour installer l'outil, vous pouvez rechercher catfishdans le centre logiciel ou exécuter cette commande sudo apt-get install catfish. Après avoir installé cela, vous pouvez ouvrir le programme depuis Unity Dash. en ce qui concerne la structure de fichiers sous linux, il n'y a pas de C, Dlecteurs, toutes les partitions sont montées en tant que répertoire à l'intérieur de root, c'est-à-dire /(barre oblique inverse). donc tout va directement à l'intérieur /, comme votre répertoire personnel (le même que votre répertoire utilisateur dans Windows) est situé à l'intérieur/home/
Gufran
5

Si vous recherchez uniquement des noms de fichiers, il le fait déjà, il s'appelle locate

Pour une recherche plus avancée, vous pouvez consulter le tracker: https://wiki.ubuntu.com/Tracker (voir également cette question: quelles sont les alternatives à Spotlight d'OS X? )

Plus d'options que vous pouvez trouver ici: https://help.ubuntu.com/community/FindingFiles

Nanne
la source
Comment puis-je effectuer une recherche par localisation dans un répertoire spécifique?
hvjkjdtmkgh
C'est une autre question, mais vous pouvez trouver la réponse ici serverfault.com/questions/313733/… :)
Nanne
mais ce lien de recherche de fichiers sur help.ubuntu est une assez bonne description de vos choix, semble-t-il?
Nanne
@hvjkjdtmkgh: Voir mon commentaire sur la réponse de Gufran pour savoir comment rechercher un répertoire spécifique.
Scott Severance