Dosyaları Aramak için Linux'ta find komutu nasıl kullanılır?

How Use Find Command Linux Search Files



Bir Linux kullanıcısıysanız, çeşitli görevleri gerçekleştirmek için yalnızca GUI'ye güvenemezsiniz, bu nedenle, terminal komutlarını sağlam bir şekilde kavramak gerçekten çok önemlidir. Linux tabanlı tüm dağıtımlar, farklı yönetim görevlerini gerçekleştirmek için komutları çalıştırır.

Linux terminali karmaşık görünen bir metin arayüzü olmasına rağmen, aslında çok esnek, kullanımı kolay ve oldukça kullanışlı bir araçtır. Komutlar çevrimiçi kaynaklardan kolayca kopyalanabilir ve çeşitli işlemleri gerçekleştirmek için terminale yapıştırılabilir. Tonlarca komut var ama bu gönderi find komutuna odaklanacak.







Find komutu, sisteminizdeki dosya ve klasörleri kullanıcı tarafından belirlenen koşullara göre bulmak, filtrelemek veya aramak ve bunlar üzerinde çeşitli işlemler gerçekleştirmek için kullanılır.



Find komutunun nasıl kullanılacağını, söz dizimini ve bu komut tarafından gerçekleştirilen çeşitli işlemleri detaylı olarak ele alalım.



Linux'ta find Komutunun sözdizimi

Find komutu sözdizimi aşağıda gösterilmiştir:





bulmak [yol] [seçenekler] [ifade]

find komutuyla birlikte üç özellik gider:

  • [path]: Aramaya başlayacağı dizini tanımlar.
  • [seçenekler]: Filtreleme kriterlerini tanımlar örn. bir dosya/klasörü adına, iznine, saatine veya tarihine göre aramak.
  • [ifade]: Dosya ile hangi eylemlerin gerçekleştirileceğini tanımlar.

Yukarıdaki özelliklerin tümü, ihtiyaca göre kullanılabildikleri için isteğe bağlıdır.



Gösterim için farklı dizinler ve bazı metin dosyaları oluşturdum, aşağıdaki resme bakın:

bul/1%20kopya.png

Ada Göre Dosya Bulma

Dosyayı ada göre aramak için aşağıda verilen komutu kullanın:

$bulmak.-isimMyTextFile1.txt

bul/2%20kopya.png

Yukarıdaki komutta bulduktan sonraki nokta, geçerli dizini gösterir.

Tam dosya adını hatırlamıyorsanız, arama daha da hassaslaştırılabilir ve ad yerine -iname kullanılarak büyük/küçük harfe duyarlı hale getirilebilir:

$bulmak.-inamemetin dosyam1.txt

bul/3%20copy.png

Türüne Göre Dosya Bulma

Bir dosyayı türüne göre bulmak için, dosyalar için f, dizinler için d, sembolik bağlantı için l ve soketler için s gibi tanımlayıcılar olarak da bilinen harflerle -type seçeneğini kullanın.

Tüm dizinleri aramak için şunu kullanın:

$bulmak.-tipNS

bul/4%20copy.png

Dosyaları aramak için şunu kullanın:

$bulmak.-tipF

c%20copy.png

Dosya Uzantısıyla Dosya Bulma

Dosyayı desene göre aramak için, örneğin tüm dosyaları .txt ile görüntülemek gibi dosya uzantısı için aşağıdaki komutu kullanın:

$bulmak.-isim *.txt

bul/5%20copy.png

.txt içeren tüm dosyalar, ilgili dizinleriyle birlikte görüntülenecektir.

Dosya Bulma ve Silme

Bir dosyayı aramak ve silmek için aşağıdaki komutu kullanın:

$bulmak.-inamemetin dosyam1.txt-exec rm {};

bul/6%20copy.png

Yukarıdaki komut önce dosyayı arar ve ardından siler. Resim MyTextFile1'in silindiğini gösteriyor.

.txt uzantılı tüm dosyaları silmek için eklenen komutu kullanabilirsiniz:

$bulmak.-isim *.txt-silmek

bul/7%20copy.png

Boyutuna Göre Dosya Bulma

Find komutu, bir dosyayı boyuta göre de arayabilir. Basitçe -size seçeneğini, sırasıyla 512 Kb bloklar için b, baytlar için c, kilobaytlar için k, megabaytlar için M ve G ve gigabaytlar için gibi tanımlayıcılarıyla birlikte kullanın:

$bulmak.-tipF-boy -1024c

bul/8%20copy.png

Yukarıda bahsedilen komut, boyutu 1024 bayttan küçük olan tüm dosyaları arar. Arama daha da geliştirilebilir, örneğin, 1Mb'den küçük tüm dosyaları bulmak istiyorsak, aşağıdaki komutu kullanırız:

$bulmak.-tipF-boy1 milyon

ab/a%20copy.png

1Mb'den büyük tüm dosyalar için aşağıdaki komutu kullanın:

$bulmak.-tipF-boy+1 milyon

ab/b%20copy.png

Eklenen komut kullanılarak bir boyut aralığı da tanımlanabilir:

$bulmak. -tipF-boy+1 milyon-boy10 milyon

Dosyaları İzne Göre Bulma

Bir dosyayı izne göre aramak için -perm seçeneğini, ardından aşağıda gösterildiği gibi izin kodunu kullanacağız:

$bulmak.-perma 664

bul/%1020kopya.png

Metin Dosyaları İçinde Bir Metin Bul

Sisteminizdeki birden çok metin dosyasındaki metni bulmak için aşağıdaki komutu kullanın:

$bulmak.-tipF-isim *.txt-exec kavramak'Merhaba'{};

bul/%1220kopya.png

Komut, metin dosyalarında Hello kelimesini arıyor. Çıktı, Hello içeren metin dosyalarından metin dizeleridir.

Değişiklik Tarihine ve Saatine Göre Dosya Bulma

Bir dosyaya son değişikliğiyle erişmek için aşağıdaki komutu kullanın:

$bulmak.-tipF-iname *.txt-dk+10

bul/1320copy.png

Yukarıdaki komut, en son dört dakika önce değiştirilen bir dosyayı arıyor ve m, Değiştirmeyi ifade ediyor.

$bulmak. -tipF-iname *.txt-amin -10

bul/14%20kopya.png

Yukarıdaki komut, en son 4 dakika önce erişilen bir dosyayı arıyor ve amin'deki a, Access'i ifade ediyor. Dört gün önce değiştirilmiş bir dosyaya erişmek için, mmin +4 yerine -mtime +4 kullanın.

Çözüm

Linux'taki find komutu, farklı kriterler kullanarak bir dosya veya dizini aramanıza ve hatta dosyaları terminalden değiştirmenize izin veren çok kullanışlı bir komuttur. Bu kılavuzda, Linux'ta find komutunun sözdizimini gözlemledik ve çeşitli işlevleri gerçekleştirmek için find komutunun nasıl kullanılacağını öğrendik.