Come faccio a cercare tutti i file nascosti che si trovano nelle cartelle nascoste usando Terminal?

10

Ho bisogno di trovare alcuni configs nascosti in alcune cartelle nascoste e non riesco a ricordare dove sono per andare direttamente a loro Cmd + Shift + G .

Ho fatto un sudo find -name Foo* (lento), ma nessuno dei file restituiti era in cartelle nascoste.

Qual è il modo più semplice per cercare tutti i file nascosti?

    
posta Old McStopher 20.02.2012 - 17:42
fonte

4 risposte

14

mdfind sembra ignorare molti file nascosti. mdfind 'kMDItemFSInvisible==1&&kMDItemFSName==filename' elenca i file .DS_Store , ma non per esempio .bash_history . Non ho trovato alcun modo per cercare file in alcune directory nascoste come /private/etc/ .

Ad ogni modo, Trova qualsiasi file è molto più veloce di find .

Find Any File is a program for Mac OS X that lets you search for files on your disks.

  • Contrary to Spotlight, it does not use a database but instead uses the file system driver's fast search operations, where available. This lets you search for file properties such as name, dates, size, etc., but not for file content (use Spotlight or EasyFind for that).
  • Find Any File can find files that Spotlight doesn't, e.g. those inside bundles and packages and in inside folders that are usually excluded from Spotlight search.
  • Finally, it is quite fast. A search only takes a few seconds on an internal hard disk or SSD. Try for yourself!
    
risposta data 04.07.2012 - 08:21
fonte
6

Supponendo che per "file nascosto" intendi file il cui nome inizia con un punto o che si trova da qualche parte in una directory il cui nome inizia con un punto e non altre forme di file invisibili , il seguente comando stampa i nomi di tutti i file nascosti. È lento poiché passa sopra tutti i nomi di file in tutto il sistema.

sudo find / -name '.*' \( -type d -exec find {} \; -prune -o -print \)

Spiegazione:

  • -type d -exec find {} \; -prune esegue find su ogni directory (il cui nome corrisponde a .* ) e salta in quella directory a causa di -prune .
  • -type d … -o -print causa la stampa di tutte le non-directory che corrispondono a .* .

Se stai cercando un file con un nome o modello specifico:

sudo find / -name 'Foo*' -path '*/.*'

Il modello */.* sull'intero percorso obbliga le corrispondenze a trovarsi in una directory nascosta.

Potresti voler aggiungere -xdev dopo / per evitare di attraversare filesystem speciali e dischi rimovibili.

    
risposta data 21.02.2012 - 01:00
fonte
4

Prova il comando locate . Dovrai prima sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist e attendere che venga generato il DB di localizzazione.

    
risposta data 20.02.2012 - 17:50
fonte
1

EasyFind è un'eccellente app alternativa per svolgere il lavoro. È gratuito e facile. Puoi cercare il testo nei file (anche quelli invisibili). < = Questo potrebbe essere un modo più semplice per trovare i tuoi file di configurazione.

Puoi scaricarlo dall'App Store link

Dichiarazione di non responsabilità: Non sono affiliato con lo sviluppatore.

    
risposta data 18.07.2014 - 05:59
fonte

Leggi altre domande sui tag