Minun täytyy löytää joitain piilotettuihin kansioihin haudattuja kokoonpanoja, enkä voi muistaa, mihin heidän on siirryttävä suoraan Cmd + Vaihto + G .
Tein sudo find -name Foo*
(hidas), mutta yksikään palautetusta tiedostot olivat piilotetuissa kansioissa.
Mikä on helpoin tapa etsiä kaikkia piilotettuja tiedostoja?
Kommentit
Vastaa
mdfind
näyttää jättävän huomiotta paljon piilotettuja tiedostoja. mdfind "kMDItemFSInvisible==1&&kMDItemFSName==filename"
ei luetteloa .DS_Store
-tiedostot, mutta ei esimerkiksi .bash_history
. En ole löytänyt mitään tapaa etsiä tiedostoa s joissakin piilotetuissa hakemistoissa, kuten /private/etc/
.
Joka tapauksessa Etsi mikä tahansa tiedosto on paljon nopeampi kuin find
.
Find Any File on Mac OS X: n ohjelma, jonka avulla voit etsiä tiedostoja levyiltä.
- Päinvastoin kuin Spotlight, se ei käytä tietokantaa, vaan käyttää tiedostojärjestelmäohjainta ”nopeat hakutoiminnot, jos käytettävissä. Tämän avulla voit etsiä tiedoston ominaisuuksia, kuten nimeä, päivämääriä, kokoa jne., Mutta ei tiedostosisältöä (käytä siihen Spotlightia tai EasyFindiä).
- Etsi mikä tahansa tiedosto voi löytää tiedostoja, joita Spotlight ei , esim. nippujen ja pakettien sisällä ja sisällä olevissa kansioissa, jotka eivät yleensä kuulu Spotlight-hakuun.
- Lopuksi, se on melko nopeaa. Haku vie vain muutaman sekunnin sisäiseltä kiintolevyllä tai SSD: llä. itse!
Vastaa
Olettaen, että ”piilotettu” tiedosto ”tarkoitat tiedostoja, joiden nimi alkaa pisteellä tai jotka sijaitsevat jonnekin hakemiston alla, jonka nimi alkaa pisteellä, eikä muita näkymättömien tiedostojen muotoja , seuraava komento tulostaa kaikkien piilotettujen tiedostojen nimet. Se on hidasta, kun se kulkee kaikkien tiedostonimien läpi kaikkialla järjestelmässäsi.
sudo find / -name ".*" \( -type d -exec find {} \; -prune -o -print \)
Selitys:
-
-type d -exec find {} \; -prune
suorittaafind
jokainen hakemisto (jonka nimi vastasi.*
), ja ohittaa laskeutumisen kyseiseen hakemistoon-prune
: n vuoksi. -
-type d … -o -print
saa kaikki.*
-tyyppiset hakemistot tulostumaan.
Jos etsit tiedostolle, jolla on tietty nimi tai malli:
sudo find / -name "Foo*" -path "*/.*"
Koko polun voimat */.*
-kuvio vastaa olla piilotetun hakemiston alla.
Voit halutessasi lisätä -xdev
/
-kuvakkeen alle välttääksesi erityisten tiedostojärjestelmien kulkua ja irrotettavat levyt.
Kommentit
- Ah, kiitos. Ja näyttää siltä, että -x on nyt suositeltava, koska -xdev on vanhentunut.
Vastaa
Kokeile locate
-komento. Sinun on ensin sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist
ja odotettava, että paikannustietokanta luodaan.
Kommentit
- Se ' aiheuttaa sellaista haittaa, että Spotlight ei poista ' t piilotettuja / (piste-) tiedostoja, koska mdfind on huomattavasti parempi kuin sijoittelu .
vastaus
EasyFind on erinomainen vaihtoehtoinen työ työn tekemiseen. Se on ilmaista ja helppoa. Voit etsiä tekstiä tiedostoista (jopa näkymättömistä). < = Tämä voi olla helpompi tapa löytää asetustiedostot.
Saat sen App Storesta https://itunes.apple.com/us/app/easyfind/id411673888?mt=12
Vastuuvapauslauseke: En ole sidoksissa kehittäjään.
Kommentit
- Ei toimi APFS-muotoisissa asemissa.
Vastaus
ag voi etsiä piilotettuja tiedostoja tiedostonimen mukaan.
Esimerkiksi:
ag --hidden -g ".swiftlint.yml" ~/
Asennus
brew install the_silver_searcher
https://github.com/ggreer/the_silver_searcher
rg on nopeampi kuin ag.
rg --files --hidden ~/ |rg ".swiftlint.yml"
Kuinka asentaa
brew install ripgrep
https://github.com/BurntSushi/ripgrep
Kommentit
- Kuinka tämä auttaa OP: n kuvaamassa tilanteessa (joka ilmeisesti ei tiedä ' ei tiedä piilotettujen tiedostojen nimeä)?
- Se toimii yhtä hyvin. Esimerkiksi rg –files –hidden ~ / | rg " .swiftlint * "
vastaus
Jos haluat etsiä .DS_Store piilotetut tiedostot, tämä komento toimii hyvin.
du -a | grep .DS_Store
sudo
on tarpeeton, ellei sinun tarvitse etsiä hakemistoista, joihin sinulla ei ole pääsyä. Piilotetuista hakemistoista haku ei vaadi korkeampia käyttöoikeuksia, jos ' s miksi ' käytetään esimerkissäsi.