Linux'ta Dosyalar Nasıl Bulunur?

Yayınlanan: 2022-04-07

İçindekiler

Giriiş:

Find , bir dosya hiyerarşisinde yürüyen bir UNIX komut satırı yardımcı programıdır. Dosyaları ve dizinleri bulmak ve üzerinde çalışmak için kullanabilirsiniz. Bu komut kullanılarak dosyalar, klasörler, isimler, oluşturma tarihleri, değişiklik tarihleri, sahipler ve izinler aranabilir.

Find komutunun find sonuçlar üzerinde çeşitli eylemler gerçekleştirmek için onu '- exec ' seçeneğiyle daha da birleştirebilirsiniz.

Bu yazıda Find komutunu kullanarak linux'ta dosya bulmayı öğreneceğiz.

Bul komutu nasıl çalışır?

Find , bilgisayarınızdaki dosyaları bulur. Öncelik kurallarına göre, verilen yollarla belirtilen her dizin ağacında soldan sağa her ifadeyi değerlendirir. VE işlemlerinde veya VEYA işlemlerinde, ifadenin sol tarafı DOĞRU veya YANLIŞ olduğunda sonuç "bilinir". Bul, ardından tüm yollar keşfedilene kadar bir sonraki yola geçer.

find komutu, bir Linux sistemindeki dosyalarla çalışmak için en temel ve güçlü araçtır. Dosyalar kendi başlarına veya diğer programlarla birlikte bulunabilir.

Sözdizimi:

find [options] [path…] [expression]

veya

$ find [where to start searching from]

[ifade neyin bulunacağını belirler] [-seçenekler] [ne bulunacağını]

  • Sembolik bağlantı işlemi, hata ayıklama seçenekleri ve optimizasyon stratejisinin tümü options özelliği tarafından kontrol edilir.
  • path ... özelliği, find öğesinin dosyaları arayacağı dizini veya dizinleri belirtir.
  • Seçenekler, arama kalıpları ve eylemler, ifade özniteliğinde operatörler tarafından ayrılır.

Seçenekler:

-exec CMD : Yukarıdaki kriterleri karşılayan ve başarılı bir komut yürütme çıkış durumu için 0 döndüren, aranmakta olan dosya.

-ok CMD : -exec'e benzer, ancak kullanıcıya önceden sorulur.

-inum N : İnode'da 'N' numaralı dosyaları arayın.

-links N : 'N' bağlantıları olan dosyaları bulun.

-name demo : Dosya adında 'demo' adlı dosyaları arayın.

-newer file : 'file'den beri güncellenen veya oluşturulan dosyaları arayın.

-perm octa l: İzin 'sekizlik' ise, dosyayı arayın.

-print : Kalan kriterler kullanılarak tanımlanan dosyaların yol adlarını yazdırın.

-empty : Boş olan dosya ve klasörleri arayın.

-size +N/-N : 'N' bloklu dosyaları arayın; Karakter boyutunu ölçmek için 'N' ve ardından 'c' kullanılabilir; '+N' boyutu > 'N' blokları belirtirken, '-N' boyutu 'N' blokları anlamına gelir.

-user name : 'name' kullanıcı adına veya 'ad' kimliğine sahip dosyaları arayın.

(ifade ) : Eğer 'ifade' doğruysa, o zaman doğrudur; OR veya AND ile kriterleri gruplamak için kullanılır.

! ifade : 'ifade' yanlışsa doğrudur.

İfade:

Seçenekler (dosya işleme yerine genel işlemi etkileyen ve her zaman doğru döndüren), testler (doğru veya yanlış değer döndüren) ve eylemler (yan etkileri olan ve doğru veya yanlış bir değer döndüren) ifadedeki operatörler tarafından ayrılır. . Operatör olmadığında, -ve çıkarsanır.

İfade ek eylem içermiyorsa, -prune, -print, doğru olduğu tüm dosyalara uygulanır.

Örneğin, örnek olarak aşağıdaki komuta bakalım

find -L /var/www -name "*.js"

  • -L (seçenekler) seçeneği , find komutuna sembolik bağları izlemesini söyler.
  • /var/www (yol…) aranacak dizini belirtir.
  • (ifadesi) -name "*.js, .js (JavaScript dosyaları) ile biten dosyaları aramayı söyler.

Linux'ta dosyalar adına göre nasıl bulunur

Dosyalar, find komutu kullanılarak ada göre bulunabilir. -name seçeneğini kullanarak bir dosyayı adına göre arayabilirsiniz.

find -type f -name functions.php

Linux'ta Dosyalar Nasıl Bulunur?

büyük/küçük harf duyarlı bir arama yapmak için -name yerine -iname kullanın

Linux'ta uzantıya göre dosyalar nasıl bulunur

Dosyaları ada göre arayabildiğiniz gibi uzantılarına göre de arayabilirsiniz.

find -type f -name '*.php'

verilen uzantıya sahip olmayan dosyaları bulmak için aşağıdaki komutu kullanın

find -type f - not -name '*.php'

Dosyaları türe göre bulun

Normal dosya, dizin veya sembolik bağlantı gibi belirli bir dosya türünü bulmanız gerekiyorsa, belirli dosya türlerini aramanız gerekebilir. Linux'ta her şey bir dosyadır.

-type seçeneğini ve aşağıdaki tanımlayıcılardan birini kullanarak aradığınız dosyanın türünü belirtin:

  • f: normal bir dosya
  • d: dizin
  • l: sembolik bağ
  • c: karakter cihazları
  • b: cihazları engelle
  • p: adlandırılmış kanal (FIFO)
  • s: soket

find public_html/wp-admin/ -type d

Dosyaları boyuta göre bulun

Boyutlarına göre dosyaları bulmak için -size parametresi size parametresiyle birlikte iletilmelidir. Dosya boyutunu belirtmek için aşağıdaki son ekler kullanılabilir:

  • b: 512 baytlık bloklar (varsayılan)
  • c: bayt
  • w: iki baytlık sözcükler
  • k: kilobayt
  • M: Megabayt
  • G: Gigabayt

find . -type f -size -1M

1MB'den büyük dosyaları aramak istiyorsanız +

find . -type f -size +1M

Bir boyut aralığındaki dosyaları bile arayabilirsiniz

find . -type f -size +1M -size 3M

Değişiklik yaparak dosyaları bulun

Find komutu, dosyaların en son ne zaman değiştirildiğine, erişildiğine veya değiştirildiğine bağlı olarak dosyaları aramak için de kullanılabilir.

Boyuta göre arama yaparken yaptığınız gibi, "büyüktür" ve "küçüktür" için artı ve eksi karakterlerini kullanın.

find . -mtime +30 -daystart

İzne göre bul

Dosyaları izinlerine göre aramak için -perm seçeneğini kullanabilirsiniz.

find public_html/wp-admin/css -perm /444

/ önek olarak kullanılırsa, en azından kategoride bir dosyanın eşleşmesi için en azından ilgili bit kümesine sahip olmalıdır.

-prefix, daha sonra en azından belirtilen bitler ayarlanmalıdır.

Sahibine göre bul

Belirli bir kullanıcı veya gruba ait dosyaları bulmak için -user ve -group parametrelerini kullanın.

find -user testc7963

Çözüm

Bul komutunun çeşitli ölçütler ve argümanlarla nasıl uygulanacağını gösterdik.
Bu makale, Linux bilgisayarlarda dosyaların nasıl bulunacağına dair temel bir anlayış sağlamalıdır.