Linux'ta Dosya Nasıl Bulunur?

Ortak yazar: wikiHow Kadrosu

Linux sisteminde bir dosyayı bulmak, nasıl yapılacağını bilmiyorsan zor olabilir. Dosyaları bulmanın en iyi yolu birkaç farklı terminal komutu kullanmaktır. Bu komutları öğrendiğinde, dosyaların üzerinde tam kontrole sahip olabilirsin. Bu komutlar, diğer işletim sistemlerindeki basit arama işlevlerinden çok daha güçlüdürler.

Yöntem 1 / 3:
"Find" Komutunu Kullanma

  1. 1
    Dosyayı, dosya adına göre ara. Bu, find (bul) komutunu kullanarak yapabileceğin en basit aramadır. Aşağıdaki komutu yazdığında geçerli dizindeki ve herhangi bir alt dizindeki sorgu aranacaktır.[1]
    find -iname "dosyaadı"
    
    • -name yerine -iname kullandığında sorgunun büyük/küçük harf duyarlılığı dikkate alınmaz. -name komutu büyük/küçük harf duyarlıdır.
  2. 2
    Aramayı, kök dizinde başlayacak şekilde ayarla. Tüm sistemi aramak istiyorsan sorguya, / değiştiricisi ekleyebilirsin. Bu sayede find komutu, kök dizinden başlayarak tüm dizinleri arayacak.
    find / -iname "dosyaadı"
    
    • / değiştiricisini /home/pat gibi bir dizin yolu ile değiştirerek aramayı, belirli bir dizinde başlatabilirsin.
    • Aramanın yalnızca geçerli dizinde ve alt dizinlerde gerçekleştirilmesi için / yerine . kullanabilirsin.
  3. 3
    Sorguya ait bir parça ile eşleşen bir şey aramak için .* eşleme karakterini kullan. Eşleme * karakteri, tam adını bilmediğin şeyleri veya belirli bir uzantıya sahip her şeyi bulmak istiyorsan işine yarayabilir.
    find /home/pat -iname "*.conf"
    
    • Bu, Pat'in kullanıcı klasöründeki (ve alt dizinlerindeki) tüm .conf dosyalarını getirir.
    • Dosya adının bir bölümüyle eşleşen her şeyi bulmak için de kullanabilirsin. Örneğin, wikiHow ile ilgili çok sayıda belgen varsa hepsini "*wiki*" yazarak bulabilirsin.
  4. 4
    Arama sonuçlarını daha kolay yönetilebilir hâle getir. Çok fazla arama sonucu çıkıyorsa bunları elemek zor olabilir. | karakterini kullan ve arama sonuçlarını "less" (daha az) filtreleme programına gönder. Bu, sonuçlar arasında daha kolay ilerlemeni ve sonuçları daha kolay filtrelemeni sağlar.
    find /home/pat -iname "*.conf" | less
    
  5. 5
    Belirli sonuç türlerini bul. Yalnızca belirli sonuç türlerini getirmek için değiştiricileri kullanabilirsin. Doğru değiştiriciyi kullanarak düzenli dosyaları (f), dizinleri (d), sembolik bağlantıları (l), karakter aygıtlarını (c) ve blok aygıtları (b) arayabilirsin.
    find / -type f -iname "dosyaadı"
    
  6. 6
    Arama sonuçlarını dosya boyutuna göre filtrele. Benzer adlara sahip çok sayıda dosyan varsa ama aradığın dosya boyutunu biliyorsan sonuçları dosya boyutuna göre filtreleyebilirsin.
    find / -size +50M -iname "dosyaadı"
    
    • Bu, 50 megabayt veya daha büyük olan sonuçları getirir. Daha büyük veya daha küçük boyutları aramak için + veya - kullanabilirsin. + veya - koymadığında, tam olarak belirtilen boyutta dosyalar aranacak.
    • Bayta (c), kilobayta (k), megabayta (M), gigabayta (G) veya 512 baytlık bloklara (b) göre filtreleme yapabilirsin. Boyut bayrağının büyük/küçük harf duyarlı olduğunu unutma.
  7. 7
    Arama filtrelerini birleştirmek için boole işlemcilerini kullan. Farklı türdeki aramaları bir araya getirmek için -and, -or ve -not işlemcilerini kullanabilirsin.[2]
    find /tatilfotograflari -type f -size +200k -not -iname "*2015*"
    
    • Komut, "tatilfotograflari" dizininde 200 kilobayttan büyük ancak dosya adında hiçbir yerde "2015" bulunmayan dosyaları bulur.
  8. 8
    Dosyaları sahibine veya izinlerine göre ara. Bir kullanıcıya ait olan belirli bir dosyayı veya belirli izinlere sahip dosyaları bulmaya çalışıyorsan aramayı daraltabilirsin.
    find / -user pat -iname "dosyaadı"
    find / -group users -iname "dosyaadı"
    find / -perm 777 -iname "dosyaadı"
    
    • Yukarıdaki örnekler, sorgu için belirtilen kullanıcıları, grupları veya izinleri arayacak. Bu türle eşleşen tüm dosyaları getirmek için dosya adı sorgusunu da atlayabilirsin. Örneğin find / -perm 777, 777 (kısıtlama olmadan) izinleri olan tüm dosyaları getirir.
  9. 9
    Dosyalar bulunduğunda eylemleri gerçekleştirmek için komutları birleştir. find komutunu diğer komutlarla birleştirebilirsin. Böylece bunları sorgu sonucu gelen dosyalar üzerinde çalıştırabilirsin. find komutunu ve ikinci komutu, -exec bayrağıyla ayır, ardından satırı {} \; ile bitir.
    find . -type f -perm 777 -exec chmod 755 {} \;
    
    • Bu, 777 izinlerine sahip dosyalar için geçerli dizini (ve tüm alt dizinleri) arayacak. Daha sonra izinleri 755 olarak değiştirmek için chmod komutunu kullanacak.
    Reklam

Yöntem 2 / 3:
"Locate" Komutunu Kullanma

  1. 1
    .locate işlevselliğini kur. locate komutu genellikle find komutundan daha hızlı çalışır çünkü bu komut, dosya yapısının veri tabanında çalışır. Linux cihazların hepsinde locate işlevselliği kurulu değildir. Kurmayı denemek için aşağıdaki komutları gir:
    • sudo apt-get update yaz ve Enter tuşuna bas.
    • Bunu Debian ve Ubuntu'da şu şekilde yükleyebilirsin: sudo apt-get install mlocate yaz ve Enter tuşuna bas. Eğer locate zaten kuruluysa mlocate is already the newest version (mlocate en yeni sürümde mevcut) ifadesini göreceksin.
    • Arch Linux'ta pacman paket yöneticisini kullan: pacman -S mlocate
    • Gentoo için emerge'ü kullan: emerge mlocate
  2. 2
    .locate veri tabanını güncelle. locate komutu, veri tabanı oluşturulup güncellenene kadar hiçbir şey bulamaz. Bu, otomatik şekilde günlük olarak yapılır ama bunu sen de manuel olarak güncelleyebilirsin. locate komutunu hemen kullanmaya başlamak istiyorsan bunu yapman gerekecek.[3]
    • sudo updatedb yaz ve Enter tuşuna bas.
  3. 3
    Basit aramalar yapmak için .locate komutunu kullan. locate komutu hızlıdır, ancak find komutunda olduğu kadar seçenek yoktur. Basit bir dosya aramasını find komutuyla yaptığına benzer şekilde yapabilirsin.
    locate -i "*.jpg"
    
    • Bu komut ile .jpg uzantılı dosyalar tüm sistemde aranacak. * eşleme karakteri, find komutunda çalıştığı şekilde çalışır.
    • find komutunda olduğu gibi -i, sorgudaki büyük/küçük harfi dikkate almaz.
  4. 4
    Arama sonuçlarını sınırlandır. Aramalarda çok fazla sonuç çıkıyorsa -n seçeneğini ve ardından görüntülenmesini istediğin sonuç sayısını girerek sonuçları azaltabilirsin.
    locate -n 20 -i "*.jpg"
    
    • Yalnızca sorguyla eşleşen ilk 20 sonuç görüntülenir.
    • Sonuçlar arasında kolayca gezinmek amacıyla sonuçları less komutuna göndermek için | yolunu kullanabilirsin.
    Reklam

Yöntem 3 / 3:
Dosyalarda Metin Arama

  1. 1
    Dosyalardaki metin dizgilerini aramak için .grep komutunu kullan. Belirli bir kelime öbeği veya bir karakter dizesi içeren bir dosyayı arıyorsan grep komutunu kullanabilirsin. Basit bir grep komutu şu şekildedir:
    grep -r -i "arama sorgusu" /path/to/directory/
    
    • -r aramayı "tekrarlamalı" olarak ayarlar, böylece sorgu dizesini içeren herhangi bir dosyayı geçerli dizinde ve tüm alt dizinlerde arar.
    • -i sorgunun büyük/küçük harf duyarlı olmadığını gösterir. Aramayı, büyük/küçük harf duyarlı olarak yapmak istiyorsan -i işlemcisini kullanma.
  2. 2
    Fazla metni kes. Yukarıdaki gibi bir grep araması yaptığında, dosya adı ile eşleşen sorgunun vurgulandığı metni görürsün. Aşağıdaki kodu ekleyerek eşleşen metni gizleyebilir ve sadece dosya adını ve yolunu görüntüleyebilirsin:
    grep -r -i "arama sorgusu" /path/to/directory/ | cut -d: -f1
    
  3. 3
    Hata mesajlarını gizle. grep komutu, doğru izinler olmadan klasörlere erişmeye çalıştığında veya boş klasörlere denk geldiğinde hataları gösterir. Hata mesajlarını /dev/null dizinine gönderebilirsin; bu onları çıkan sonuçlarda gizler.[4]
    grep -r -i "arama sorgusu" /path/to/directory/ 2>/dev/null
    
    Reklam

Bununla İlgili wikiHow'lar

Bu wikiHow makalesi hakkında

Ortak Yazar:
wikiHow Editör Ekibi
Bu makale editörler ve araştırmacılardan oluşan, makalenin doğruluğu ile kapsamlılığını onaylayan, eğitimli bir ekip tarafından ortaklaşa yazılmıştır.
Bu sayfaya 547 defa erişilmiş.

Bu makale işine yaradı mı?

Reklam