Jeg trenger å finne noen konfigurasjoner begravet i noen skjulte mapper og kan ikke huske hvor de skal navigere direkte til dem Cmd + Shift + G .

Jeg gjorde en sudo find -name Foo* (treg), men ingen av de returnerte filer var i skjulte mapper.

Hva er den enkleste måten å søke i alle skjulte filer?

Kommentarer

  • Merk: Bruke sudo er unødvendig med mindre du trenger å søke i kataloger som du ikke har tilgang til. Søking i skjulte kataloger krever ikke forhøyede rettigheter, hvis den ' hvorfor det ' brukes i eksemplet ditt.

Svar

mdfind ser ut til å ignorere mange skjulte filer. mdfind "kMDItemFSInvisible==1&&kMDItemFSName==filename" viser .DS_Store filer, men ikke for eksempel .bash_history. Jeg har ikke funnet noen måte å søke etter fil på s i noen skjulte kataloger som /private/etc/.

Uansett, Finn hvilken som helst fil er mye raskere enn find.

Finn hvilken som helst fil er et program for Mac OS X som lar deg søke etter filer på diskene dine.

  • I motsetning til Spotlight bruker den ikke en database, men bruker i stedet filsystemdriveren «raske søkeoperasjoner, der det er tilgjengelig. Dette lar deg søke etter filegenskaper som navn, datoer, størrelse osv., Men ikke etter filinnhold (bruk Spotlight eller EasyFind for det).
  • Finn hvilken som helst fil kan finne filer som Spotlight ikke t , for eksempel de som er inne i pakker og pakker, og i innvendige mapper som vanligvis er ekskludert fra Spotlight-søk.
  • Endelig er det ganske raskt. Et søk tar bare noen få sekunder på en intern harddisk eller SSD. Prøv for deg selv!

Svar

Forutsatt at ved «skjult fil ”du mener filer hvis navn begynner med en prikk eller som ligger et sted under en katalog der navnet begynner med en prikk, og ikke andre former for usynlige filer , følgende kommando skriver ut navnene på alle skjulte filer. Det går sakte når det går over alle filnavnene overalt på systemet.

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

Forklaring:

  • -type d -exec find {} \; -prune utfører find på hver katalog (hvis navn samsvarte med .*), og hopper nedover i den katalogen på grunn av -prune.
  • -type d … -o -print fører til at alle ikke-kataloger som samsvarer med .* skrives ut.

Hvis du ser etter for en fil med et bestemt navn eller mønster:

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

*/.* mønsteret på hele banen tvinger samsvar til være under en skjult katalog.

Det kan være lurt å legge til -xdev etter / for å unngå å krysse spesielle filsystemer og flyttbare disker.

Kommentarer

  • Ah, takk. Og det ser ut til at -x er foretrukket nå, ettersom -xdev er utfaset.

Svar

Prøv locate kommando. Du må sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist først og vente på at lokaliserings-DB skal genereres.

Kommentarer

  • Det ' er en slik plage at Spotlight ikke ' t plukker opp skjulte / (dot-) filer, fordi mdfind er langt bedre enn å plassere .

Svar

EasyFind er et utmerket alternativ app for å få jobben gjort. Det er gratis og enkelt. Du kan søke etter tekst i filer (til og med usynlige). < = Dette kan være en enklere måte å finne konfigurasjonsfilene dine.

Du kan få det fra App Store https://itunes.apple.com/us/app/easyfind/id411673888?mt=12

Ansvarsfraskrivelse: Jeg er ikke tilknyttet utvikleren.

Kommentarer

  • Fungerer ikke på APFS-formaterte stasjoner.

Svar

ag kan søke i skjulte filer etter filnavn.

For eksempel:

ag --hidden -g ".swiftlint.yml" ~/ 

Slik installerer du

brew install the_silver_searcher 

https://github.com/ggreer/the_silver_searcher

rg er raskere enn ag.

rg --files --hidden ~/ |rg ".swiftlint.yml" 

Slik installerer du

brew install ripgrep 

https://github.com/BurntSushi/ripgrep

Kommentarer

  • Hvordan hjelper dette i situasjonen beskrevet av OP (som tilsynelatende ikke ' ikke vet navnet på de skjulte filene)?
  • Det fungerer også. For eksempel rg –filer – skjult ~ / | rg " .swiftlint * "

Svar

Hvis du vil søke .DS_Store skjulte filer, denne kommandoen fungerer bra.

du -a | grep .DS_Store 

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *