individuare e aggiornato b - file non trovati


8

ho corso

sudo /usr/libexec/locate.updatedb

poi

locate Radium3

ma non restituisce nulla!

ma

$ ls ~/Library/Containers/com.catpigstudios.Radium3/
Container.plist Data

Quindi perché non locatevedi tutti i file?

Sto usando questo comando correttamente su OS X?

Risposte:


5

Provare:

sudo /usr/libexec/locate.updatedb

E guarda config:

/etc/locate.rc il file di configurazione

Modificato:

Pubblica qui l'output:

echo $LOCATE_CONFIG

E:

cat /etc/locate.rc

E:

echo $0

Aggiornare:

https://developer.apple.com/library/mac/documentation/Darwin/Reference/Manpages/man1/locate.1.html#//apple_ref/doc/man/1/locate

Il programma di individuazione cerca in un database tutti i percorsi che corrispondono al modello specificato. La base di dati del database viene periodicamente ricalcolata (in genere settimanalmente o giornalmente) e contiene i percorsi di tutti i file accessibili al pubblico .

Prova mdfind invece individuare

Updated2:

mdfind -name text che è più preciso. Solo mdfind text ti dà anche file che contengono testo. - David Krmpotic

mdfind -name text

Ho commentato la #SEARCHPATHS="/"configurazione, non mi è stato di aiuto. -vl'opzione non sembra produrre alcun output aggiuntivo: /
davidhq

Fornisci ulteriori informazioni per me, per favore. Nella risposta sezione "Modificato".
user3439968


1
$ ls -la /var/db/locate.database -r - r - r-- 1 nessuno wheel 19463861 6 aprile 20:08 /var/db/locate.database $ individuare david.jpg / Users / david / temp /david.jpg
davidhq

1
dovresti aggiornare la tua risposta alla mdfind -name textquale è più accurata. mdfind textTi dà solo file che contengono anche testo.
davidhq,

3

Le autorizzazioni possono essere il colpevole in quanto a quanto pare individuare non è in grado di leggere file non leggibili dal mondo. Vedi questa risposta di Plundra per ulteriori spiegazioni.

Il pacchetto findutils di homebrew abilita gupdatedbe glocatecomandi che sembrano superare alcuni dei limiti delle utility integrate.


Grazie! ma ora che ne so mdutilha senso dare un'occhiata a questo? Un caso d'uso a cui riesco a pensare è che posso attivare la nuova scansione manualmente con gupdatedb- con Spotlight non è così facile o richiederebbe più tempo (indicizza anche il contenuto dei file). Ci sono altri vantaggi?
davidhq,

1
Reindicizzare con mdutil / spotlight può richiedere del tempo. updatedbè più veloce per quello. glocatesembra non avere problemi a indicizzare i file di sistema, mentre trovo mdfindignora ~ / Library e altri file di sistema. Sicuramente scopro di avere più successi con glocateover mdfindnella maggior parte dei casi. YMMV.
VogonPoetLaureate

ok, lo sto provando adesso. Penso di aver riscontrato qualche problema ... prima ho eseguito sudo gupdatedb, quindi ho salvato l' glocate Radiumoutput. Poi ho corso gupdatedbe ha detto: /.Trashes: Permission deniedlo stesso per alcune altre cartelle. Ho confrontato l'output per entrambi ed è stato lo stesso! Strano ...
davidhq,

Da quello che stai dicendo, hai eseguito prima sudo gupdatedb(eseguendolo come root), quindi hai seguito in seguito eseguendolo gupdatedbcome un normale utente che non avrebbe avuto accesso ai file a cui l'utente root avrebbe avuto accesso, il che significa che otterrai permesso negato errori. Se desideri un database completo di nomi di file per l'intero sistema, continua a eseguirlo come root. Questo espone i tuoi file ad altri utenti del sistema che possono usare il glocatecomando. Ma se sei l'unico utente, dovrebbe andare bene.
VogonPoetLaureate,

2

Se si desidera cercare lo stesso database utilizzato da Spotlight, è possibile utilizzare il mdfindcomando in alternativa (sebbene non una sostituzione esatta) per locate:

mdfind Radius3
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.