Am nevoie să găsesc câteva configurații îngropate în unele foldere ascunse și nu pot să-mi amintesc unde se află pentru a naviga direct la ele Cmd + Shift + G .

Am făcut un sudo find -name Foo* (lent), dar niciunul dintre cele returnate fișierele erau în dosare ascunse.

Care este cel mai simplu mod de a căuta toate fișierele ascunse?

Comentarii

  • Notă: Utilizarea sudo nu este necesar, cu excepția cazului în care trebuie să căutați în directoare la care nu aveți acces. Căutarea în directoare ascunse nu necesită privilegii ridicate, dacă ' de ce ' este utilizat în exemplul dvs.

Răspuns

mdfind pare să ignore o mulțime de fișiere ascunse. mdfind "kMDItemFSInvisible==1&&kMDItemFSName==filename" listează .DS_Store, dar nu de exemplu .bash_history. Nu am găsit nicio modalitate de a căuta fișierul s în unele directoare ascunse cum ar fi /private/etc/.

Oricum, Găsiți orice fișier este mult mai rapid decât find.

Găsiți orice fișier este un program pentru Mac OS X care vă permite să căutați fișiere pe discurile dvs.

  • Contrar Spotlight, nu folosește o bază de date, ci folosește în schimb driverul sistemului de fișiere. operațiile de căutare rapidă, acolo unde sunt disponibile. Acest lucru vă permite să căutați proprietăți ale fișierului, cum ar fi numele, datele, dimensiunea etc., dar nu și conținutul fișierului (utilizați Spotlight sau EasyFind pentru asta).
  • Găsiți orice fișier poate găsi fișiere care nu sunt Spotlight , de exemplu, acele pachete și pachete și în dosare interioare care sunt de obicei excluse din căutarea Spotlight.
  • În cele din urmă, este destul de rapidă. O căutare durează doar câteva secunde pe un hard disk intern sau SSD. Încercați pentru tu însuți!

Răspunde

Presupunând că prin „ascuns fișier ”înseamnă fișiere al căror nume începe cu un punct sau care sunt situate undeva sub un director al cărui nume începe cu un punct și nu alte forme de fișiere invizibile , următoarea comandă tipărește numele tuturor fișierelor ascunse. Este lent deoarece trece peste toate numele fișierelor de pretutindeni în sistemul dvs.

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

Explicație:

  • -type d -exec find {} \; -prune execută find pe fiecare director (al cărui nume se potrivește cu .*) și saltează descendent în directorul respectiv din cauza -prune.
  • -type d … -o -print determină tipărirea tuturor non-directoarelor care se potrivesc cu .*.

Dacă căutați pentru un fișier cu un anumit nume sau model:

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

Modelul */.* pe întreaga cale forțează potrivirile cu fiți sub un director ascuns.

Poate doriți să adăugați -xdev după / pentru a evita traversarea sistemelor de fișiere speciale și discuri amovibile.

Comentarii

  • Ah, mulțumesc. Și se pare că -x este preferat acum, deoarece -xdev este învechit.

Răspuns

Încercați locate. Va trebui să sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist mai întâi și să așteptați generarea DB de localizare.

Comentarii

  • Este ' o astfel de neplăcere încât Spotlight nu ' nu ridică fișierele ascunse / (punct-), deoarece mdfind este extrem de superior față de slocate .

Răspuns

EasyFind este o aplicație alternativă excelentă pentru a face treaba. Este gratuit și ușor. Puteți căuta text în fișiere (chiar și invizibile). < = Aceasta poate fi o modalitate mai ușoară de a vă găsi fișierele de configurare.

O puteți obține din App Store https://itunes.apple.com/us/app/easyfind/id411673888?mt=12

Declinare de responsabilitate: Nu sunt afiliat dezvoltatorului.

Comentarii

  • Nu funcționează pe unitățile formatate cu APFS.

Răspuns

ag poate căuta fișiere ascunse după numele fișierului.

De exemplu:

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

Cum se instalează

brew install the_silver_searcher 

https://github.com/ggreer/the_silver_searcher

rg este mai rapid decât ag.

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

Cum se instalează

brew install ripgrep 

https://github.com/BurntSushi/ripgrep

Comentarii

  • Cum ajută acest lucru în situația descrisă de OP (care aparent nu ' nu știe numele fișierelor ascunse)?
  • Funcționează de asemenea. De exemplu, rg –files –hidden ~ / | rg " .swiftlint * "

Răspuns

Dacă doriți să căutați .DS_Store fișiere ascunse, această comandă funcționează bine.

du -a | grep .DS_Store 

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *