Il filesystem linux supporta la rapida ricerca / indicizzazione dei file?


21

Mi chiedo perché non ci siano strumenti che permettano di trovare i file sul suo hard disk molto rapidamente come fa "cerca tutto". Basta digitare una parte del nome del file e tutti i file contenenti la parola chiave verranno visualizzati all'istante. Non è possibile progettare un programma per registrare i nomi di tutti i file in alcune directory in un database in modo da poter cercare rapidamente i nomi dei file nel database?


Un piccolo pignolo, ma potrebbe aiutarti a capire meglio il sistema. In generale, i filesystem non supportano direttamente la ricerca di file o la creazione di indici. Il compito del filesystem è di archiviare i file. La ricerca e l'indicizzazione vengono eseguite da vari programmi di utilità. È fatto in questo modo perché il filesystem più semplice = minori possibilità di bug e consente all'utente di configurare il livello di costruzione dell'indice e quali aree dovrebbero essere gli obiettivi.
Perkins,

Risposte:


13

Esegui sudo updatedbe locate [ filename or part ]
updatedbaggiorna il database dell'indice.
Se si desidera individuare un programma, eseguirewhereis [ program name ]


1
Bello, ma come fare per trovare la ricerca in una directory specifica in Linux conio?
hvjkjdtmkgh,

bene a tale scopo puoi usare il findcomando, usarlo in questo modo find [path to directory] | grep "file name or part"Ciò cercherà ricorsivamente in modo da poter semplicemente cercare all'interno della directory di base e cercherà automaticamente il file all'interno di qualsiasi sottodirectory.
Gufran,

Per alcune directory specifiche:locate foo | grep /home/bar/baz
Scott Severance

Grazie, ma puoi darmi un esempio? Sono completamente nuovo in Linux. In Windows, scrivi D: \\ nomecartella \ etc Qual è l'equivalente in Linux? Inoltre, questo strumento ha una GUI in modo da poter aprire direttamente il file?
hvjkjdtmkgh,

utilità come locateo findnon hanno la GUI integrata, è possibile utilizzare uno strumento di terze parti come catfish. Per installare lo strumento è possibile cercare catfishnel software center o eseguire questo comando sudo apt-get install catfish. Dopo aver installato questo è possibile aprire il programma da Unity Dash. per quanto riguarda la struttura dei file in linux, non ci sono C, DDrives, tutte le partizioni sono montate come directory all'interno di root, ovvero /(back-slash). quindi tutto va direttamente all'interno /, come la tua directory Home (uguale alla tua directory utente in Windows) si trova all'interno/home/
Gufran

5

Se stai cercando solo nomi di file, lo fa già, si chiama locate

Per una ricerca più avanzata puoi consultare tracker: https://wiki.ubuntu.com/Tracker (vedi anche questa domanda: quali sono le alternative a Spotlight di OS X? )

Altre opzioni che puoi trovare qui: https://help.ubuntu.com/community/FindingFiles


Come posso effettuare la ricerca di localizzazione in una directory specifica?
hvjkjdtmkgh,

Questa è un'altra domanda, ma puoi trovare la risposta qui serverfault.com/questions/313733/… :)
Nanne

ma che trovare il collegamento di file su help.ubuntu è abbastanza una buona descrizione delle tue scelte?
Nanne,

@hvjkjdtmkgh: vedi il mio commento sulla risposta di Gufran per come cercare una directory specifica.
Scott Severance,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.