Ho bisogno di trovare alcune configurazioni nascoste in alcune cartelle nascoste e non riesco a ricordare dove sono per raggiungerle direttamente Cmd + Maiusc + G .
Ho eseguito un sudo find -name Foo*
(lento), ma nessuno dei file erano in cartelle nascoste.
Qual è il modo più semplice per cercare tutti i file nascosti?
Commenti
Risposta
mdfind
sembra ignorare molti file nascosti. mdfind "kMDItemFSInvisible==1&&kMDItemFSName==filename"
elenca .DS_Store
file, ma non ad esempio .bash_history
. Non ho trovato alcun modo per cercare file s in alcune directory nascoste come /private/etc/
.
Comunque, Trova qualsiasi file è molto più veloce di find
.
Find Any File è un programma per Mac OS X che ti consente di cercare file sui tuoi dischi.
- Contrariamente a Spotlight, non utilizza un database ma utilizza invece il driver del file system “s operazioni di ricerca rapida, se disponibili. Ciò ti consente di cercare le proprietà del file come nome, date, dimensioni, ecc., Ma non il contenuto del file (usa Spotlight o EasyFind per questo).
- Trova qualsiasi file può trovare file che Spotlight non riesce a trovare , ad esempio quelli allinterno di bundle e pacchetti e nelle cartelle interne che di solito sono esclusi dalla ricerca Spotlight.
- Infine, è abbastanza veloce. Una ricerca richiede solo pochi secondi su un disco rigido interno o SSD. Prova te stesso!
Rispondi
Supponendo che per “nascosto file “significa file il cui nome inizia con un punto o che si trovano da qualche parte in una directory il cui nome inizia con un punto e non altre forme di file invisibili , il comando seguente stampa i nomi di tutti i file nascosti. È lento poiché passa su tutti i nomi dei file ovunque sul tuo sistema.
sudo find / -name ".*" \( -type d -exec find {} \; -prune -o -print \)
Spiegazione:
-
-type d -exec find {} \; -prune
eseguefind
su ogni directory (il cui nome corrisponde a.*
) e salta la discesa in quella directory a causa di-prune
. -
-type d … -o -print
fa sì che tutte le directory non corrispondenti a.*
vengano stampate.
Se stai cercando per un file con un nome o un pattern specifico:
sudo find / -name "Foo*" -path "*/.*"
Il pattern */.*
sullintero percorso forza le corrispondenze a essere in una directory nascosta.
Potresti voler aggiungere -xdev
dopo /
per evitare di attraversare filesystem speciali e dischi rimovibili.
Commenti
- Ah, grazie. E sembra che -x sia preferito ora, poiché -xdev è deprecato.
Answer
Prova il locate
comando. Dovrai prima sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist
e attendere che venga generato il database di localizzazione.
Commenti
- ' è così fastidioso che Spotlight ' non raccoglie file nascosti / (punto-), perché mdfind è di gran lunga superiore a slocate .
Risposta
EasyFind è unottima app alternativa per portare a termine il lavoro. È gratuito e facile. Puoi cercare testo nei file (anche quelli invisibili). < = Questo potrebbe essere un modo più semplice per trovare i tuoi file di configurazione.
Puoi scaricarlo dallApp Store https://itunes.apple.com/us/app/easyfind/id411673888?mt=12
Limitazione di responsabilità: Non sono affiliato con lo sviluppatore.
Commenti
- Non funziona su unità formattate APFS.
Risposta
ag può cercare file nascosti per nome file.
Ad esempio:
ag --hidden -g ".swiftlint.yml" ~/
Come installare
brew install the_silver_searcher
https://github.com/ggreer/the_silver_searcher
rg è più veloce di ag.
rg --files --hidden ~/ |rg ".swiftlint.yml"
Come installare
brew install ripgrep
https://github.com/BurntSushi/ripgrep
Commenti
- In che modo questo aiuta nella situazione descritta dallOP (che apparentemente ' non conosce il nome dei file nascosti)?
- Funziona anche. Ad esempio, rg –files –hidden ~ / | rg " .swiftlint * "
Risposta
Se desideri cercare .DS_Store file nascosti, questo comando funziona bene.
du -a | grep .DS_Store
sudo
non è necessario a meno che non sia necessario cercare in directory a cui non si ha accesso. La ricerca in directory nascoste non richiede privilegi elevati, se ' è il motivo per cui ' viene utilizzato nel tuo esempio.