Terminal kullanarak gizli klasörlerde bulunan tüm gizli dosyaları nasıl arayabilirim?


10

Bazı gizli klasörlerde gömülü bazı yapılandırmalar bulmak gerekir ve doğrudan Cmd+ Shift+ onlara gitmek için nerede olduklarını hatırlayamıyorum G.

sudo find -name Foo*(Yavaş) yaptım , ancak döndürülen dosyaların hiçbiri gizli klasörlerde değildi.

Tüm gizli dosyaları aramanın en kolay yolu nedir?


Not: sudoErişiminiz olmayan dizinlerde arama yapmanız gerekmediği sürece kullanmak gereksizdir. Gizli dizinlerde arama yapmak, yükseltilmiş ayrıcalıklar gerektirmez, bu nedenle örneğinizde kullanılıyorsa.
Chris Page

Yanıtlar:


15

mdfindbirçok gizli dosyayı görmezden geliyor gibi görünüyor. dosyaları mdfind 'kMDItemFSInvisible==1&&kMDItemFSName==filename'listeler .DS_Store, ancak örneğin .bash_history. Gibi bazı gizli dizinlerde dosyaları aramak için herhangi bir yol bulamadım /private/etc/.

Her neyse, Herhangi Bir Dosya Bul daha hızlı find.

Herhangi Bir Dosya Bul, disklerinizdeki dosyaları aramanızı sağlayan Mac OS X için bir programdır.

  • Spotlight'ın aksine, bir veritabanı kullanmaz, bunun yerine dosya sistemi sürücüsünün hızlı arama işlemlerini (varsa) kullanır. Bu, ad, tarihler, boyut vb. Gibi dosya özelliklerini aramanıza izin verir, ancak dosya içeriği için değil (bunun için Spotlight veya EasyFind kullanın).
  • Herhangi Bir Dosya Bul, Spotlight'ın içermediği dosyaları, örneğin paketlerin ve paketlerin içindeki ve genellikle Spotlight aramasının dışında bırakılan klasörlerin içindeki dosyaları bulabilir.
  • Son olarak, oldukça hızlı. Dahili sabit diskte veya SSD'de arama yalnızca birkaç saniye sürer. Kendiniz deneyin!

6

“Gizli dosya” ile adının bir nokta ile başlayan veya başka bir görünmez dosya biçiminde değil, bir nokta ile başlayan bir dizinin altında bir yerde bulunan dosyaları kasteddiğinizi varsayarsak , aşağıdaki komut tüm gizli dosyaların adlarını yazdırır. Sisteminizin her yerinde tüm dosya adlarının üzerinden geçtiği için yavaştır.

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

Açıklama:

  • -type d -exec find {} \; -pruneyürütür find(isim eşleşti her dizin .*) ve atlama çünkü o dizine inen -prune.
  • -type d … -o -printeşleşen tüm dizin olmayanların .*yazdırılmasına neden olur .

Belirli bir ada veya desene sahip bir dosya arıyorsanız:

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

*/.*Bütün yol güçlerine desen bir gizli dizinin altında olduğu eşleşir.

Sen eklemek isteyebilirsiniz -xdevsonra /özel dosya sistemlerini ve çıkarılabilir diskler geçme önlemek için.


Ah teşekkürler. Ve -xdev kullanımdan kaldırıldığı için şimdi -x tercih ediliyor gibi görünüyor.
Old McStopher

4

locateKomutu deneyin . Sen zorunda kalacak sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plistilk ve yerini DB oluşturulacak bekleyin.


3
Spotlight'ın gizli / (dot-) dosyaları almaması o kadar rahatsız edici ki, mdfind slocate'den çok daha üstündür.
Jason Salaz

2

EasyFind işi yapmak için mükemmel bir alternatif uygulama. Ücretsiz ve kolaydır. Dosyalarda (görünmez olanlarda bile) metin arayabilirsiniz. <= Bu, yapılandırma dosyalarınızı bulmanın daha kolay bir yolu olabilir.

App Store'dan alabilirsiniz https://itunes.apple.com/us/app/easyfind/id411673888?mt=12

Yasal Uyarı: Ben geliştirici ile bağlı değilim.


APFS biçimli sürücülerde çalışmaz.
Victor Engel
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.