Domanda

Recentemente ho spostato tutta la mia area di sviluppo web locale sull'utilizzo di materiale MacPorts, anziché utilizzare MAMP sul mio Mac.Sono entrato in Python/Django e non avevo più bisogno di MAMP.

Il fatto è che ho disinstallato MAMP dalla cartella Applicazioni, con anche il file delle preferenze, ma come mai quando eseguo il comando 'localizza MAMP' nel Terminale mostra ancora tutte le mie cose /Applicazioni/MAMP/ come se fossero ancora tutte lì ?E quando io 'cd' in /Applications/MAMP/ non esiste?

Qualcosa a che fare con il fatto che localizza è una sorta di sistema di ricerca dell'indice, quindi le cose vengono memorizzate nella cache di questi vecchi percorsi di file?Spiega perché e come ordinarli in modo che non vengano più visualizzati.

È stato utile?

Soluzione

Hai avuto l'idea giusta: locate utilizza un database chiamato 'locatedb'. E 'normalmente aggiornata da posti di lavoro del sistema cron (non sono sicuro che su OS X); è possibile forzare un aggiornamento con il comando updatedb. Vedere http://linux-sxs.org/utilities/updatedb.html tra gli altri .


Inoltre, se si non Trova file che ci si aspetta di, notare che questo importante avvertimento dalla sezione BUGS di OSX' locate (1) man-page:

The locate database is typically built by user ''nobody'' and the locate.updatedb(8) utility skips directories which are not readable for user ''nobody'', group ''nobody'', or world. For example, if your HOME directory is not world-readable, none of your files are in the database.

Altri suggerimenti

Le altre risposte sono corrette circa la necessità di aggiornare il database locate. Ho questo alias per aggiornare il mio localizzare DB:

alias update_locate='sudo /usr/libexec/locate.updatedb'

Io in realtà non uso di individuare più di tanto più ora che ho trovato mdfind . Esso utilizza l'indice file di riflettori che OSX è molto meglio a mantenersi aggiornati rispetto al locatedb. Essa ha anche un po 'più di potenza in quello che può cercare dalla riga di comando.

Infatti il individuare Il comando esegue la ricerca attraverso un indice, ecco perché è piuttosto veloce.L'indice è generato da aggiornatob comando, che di solito viene eseguito come lavoro notturno o settimanale.

Quindi per aggiornarlo manualmente, basta eseguire aggiornatob.

Secondo la pagina man, il suo database viene aggiornato una volta alla settimana:

NAME
     locate.updatedb -- update locate database

SYNOPSIS
     /usr/libexec/locate.updatedb

DESCRIPTION
     The locate.updatedb utility updates the database used by locate(1).  It is typically run once a week by
     the /etc/periodic/weekly/310.locate script.

Date un'occhiata alla pagina individuare man

http://unixhelp.ed.ac.uk/CGI / uomo-cgi? localizzare + 1

Vedrai che individuare le ricerche di un database, non il filesystem vero e proprio. È possibile aggiornare il database utilizzando il comando updatedb.

Inoltre, dal momento che è una base di dati, a meno che non si aggiorna regolarmente, individuare wouln't trovare i file che sono nel vostro file system che arn't nel database.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top