Bulmada tazeleme: Linux dağıtımınızdaki dosyaları bulun

Büyüteç

Dosyaları ve dizinleri aramak, dosya yöneticilerine entegre edilmiş mevcut arama motorları ile nispeten basittir, ancak bazen terminali daha fazla kullanmak isteyebiliriz veya grafiksel bir ortamımız olmadığı için terminali kullanmaktan başka seçeneğimiz olmayabilir. Yani, İncelemeyi ilginç buldum, iyi bilinen bir komut, ancak grafik ortamların yoğun kullanımıyla unutulmuş bir şey.

Pekala, bul, adından da anlaşılacağı gibi, başka hiçbir şey için işe yaramaz dosyaları bulmak için, bul, vb. gibi başka alternatifleri olmasına rağmen, oldukça güçlü olduğu ve aramamızı başarılı bir şekilde gerçekleştirmemiz için birçok ilginç seçeneğe izin verdiği için bulmaya odaklanacağız. Herhangi bir seçenek olmadan, olduğu gibi kullanırsak, yapacağı şey, tüm dizinin (ve alt dizinlerin) içeriğinin ls ile elde edeceğimize benzer bir liste başlatmaktır.

Ama bizi ilgilendiren bu değil. istediğimiz şey özelleştirmek ve biraz daha hassaslaştırmak arama daha kesin olmak ve gerçekten aradığımızı bulmamıza yardımcı olmak için. Nasıl çalıştığını anlamak için pratik bul örnekleri göstermekten daha iyi bir yol olmadığını düşünüyorum:

  • İsme göre aramak için"-adı" seçeneğini veya arama kriterini kullanabiliriz. Örneğin, ilk örnek, adı "musi" ile başlayan, ikincisi "eon" ile biten ve sonuncusu da kök / dizinin içinde "bulunan" kelimesini içeren dosyaları / dizinleri arar:
find / -name "musi*"

find / -name "*eon"

find / -name "fundar"

  • -Type adında bir filtre görevi görebilen ve -name ile birlikte kullanılabilen bir seçenek vardır. Bu durumda hizmet eder aranacak dosya türünü belirtin. B ile blok modunda özel dosyaları ararız, karakter modunda özel dosyalar için C, dizinler için D, sıradan dosyalar için F, sembolik bağlantılar için L, adlandırılmış boru için P ve Soket veya ağ bağlantısı için S ile. Örneğin, adının sonunda ve Home / user dizininde "merhaba" bulunan bir dizini aramak istediğinizi varsayalım:
find /Home/usuario -name "*hola" -type D

  • Biz de yapabiliriz kullanıcıya veya ait olduğu gruba göre ara sistemdeki bir dizin veya dosyalar. Bunun için -kullanıcı ve -grup kriterlerini kullanabiliriz. Şimdi, İndirilenler dizininde «Rosa» kullanıcısının «.mp3» ünü ve «Kediler» grubunu içeren bir dosya bulmak istediğinizi hayal edin:
find /Descargas -name ".mp3" -user Rosa -group Gatos

  • Boyut, bedene göre aramamıza yardımcı olabilir. Bu durumda uygulamak için farklı seçeneklerimiz var. Bir B bloğu belirtir, eğer boyut belirtilmezse, varsayılan olarak 512 bayt olacaktır. 1 baytlık ASCII karakterler için C, 2 baytlık (eski) kelimeler için W ve KiloByte veya 1024 bayt için K. Örneğin, 2560 baytlık (5 blok · 512), başka bir 10 ASCII karakter, 100KB'den biri, biri 5MB'den küçük ve diğeri 30KB'den büyük bir dosya içinde / aramak istersek:
find / -size 5

find / -size 10c

find / -size 100K

find / -size -5000K

find / -size +30K

Tabii ki, -boyut olurdu tüm arama kriterleri ile birleştirilebilir anterior ve posterior, böylece daha da kesin sonuçlar elde edeceğiz ...

  • Hatta yapabilirsin geçici kriterlere göre arama. -Atime ile son erişim tarihine göre arama yapabilirsiniz. -içerik değişikliği tarihine göre zaman ve -kodun son değiştirilme tarihine göre zaman. Örneğin, "Zaca" kullanıcısına ait olan ve 3 günden daha kısa bir süre önce değiştirilmiş olan "merhaba" adlı bir dizin olan / Home'da aramak istiyoruz:
find /Home -name "hola" -user Zaca -mtime -3

  • Daha fazla kriter var erişim yetkilerini veya izinlerini aramak için -perm, sabit bağlantıları aramak için bağlantılar, inode numarası için-altın gibi arama. Son örneğimizle devam edelim, bu durumda, mevcut dizinde sahip kullanıcı ve grup için izinleri toplam olan bir dizini ve geri kalanı için yürütmeyi arayacağız:
find -type d -perm 771

Bazen terminalin potansiyelinin farkında değiliz ve zaten doğuştan olanın esnekliğine izin vermeyen diğer araçları kullanıyoruz. Umarım bu mütevazı makale ile bir şeye yardımcı olmuşumdur. Eğlenin ve yorumlarınızı bırakın...


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: AB Internet Networks 2008 SL
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.

  1.   isimleri dijo

    Eğlenmiyorum ama bana biraz yardımcı oldu