locate komutu nedir?

Sistemde bir dosyanın nasıl aranacağını ve kendi oluşturduğunuz veya başka biri tarafından oluşturulmuş bir dosyayı bulamadığınız durumlarda bilmemiz çok yararlı olacaktır. Dosya aramanın kolay bir yolu locate komutu kullanmaktır.

locate kullanımı 

Örneğin, aşağıdaki komutu çalıştırarak Music dizinin konumunu bulabilirsiniz. Tabi ki kendi kullanıcımız da olduğum için yetkiden dolayı sadece belli kısımlarda arama yapacaktır. locate Music komutunu yürüttüğümüzde aşağıda görselde ki gibi hangi konumda olduğunu bize gösterdi.

locate Music 

Şimdi uzantılara göre bir arama gerçekleştirelim. Makinamızda tüm .conf dosyalarını bulalım.karakteri ile sonu .conf ile biten hepsini çağırmış oluyoruz.

sudo locate *.conf 
metin içeren bir resim

Açıklama otomatik olarak oluşturuldu

Daha kullanışlı bir hale getirmek için, çıktıları girdi olarak grep komutuna yönlendirelim. Bu durumda arama sonuçlarını filtreleme yaparak istediğimiz sonuca daha kolay bir şekilde ulaşabiliriz.

sudo locate *.conf | grep smb 
metin içeren bir resim

Açıklama otomatik olarak oluşturuldu

Yine bir çıktımızı, girdi olarak nl komutuna yönlendirelim. Bu sayede arama sonuçlarının yanına satır numaraları eklemiş oluruz. Bunun gibi bir çok işlemlerleri yapabiliriz.

metin içeren bir resim

Açıklama otomatik olarak oluşturuldu

Locate komutunda önemli bir detay vardır. locate komutu, geleneksel olarak günde bir kez güncellenen bir veritabanını kullanır. Bu veritabanı, veritabanı en son güncellendiğinde sistemde bulunan tüm dosyaların bir listesini içerir. Yani yeni bir dosya oluşturulduğunda arama yaptığımızda bunu bulamayacaktır. Yetkili hesabımız ile updatedb komutunu çalıştırırak manuel olarak güncelleyebiliriz. 

Bu demek oluyor ki yeni bir dosya veya dizin oluştuğu zaman veritabanı güncellenene kadar istediğimizi bulamayacağız. Hemen örnekleyelim. Bir klasör oluşturuyorum.

mkdir MEHMETOZ1299

locate komutunu çalıştırdığım zaman dizini bulamadığımı görüyorum. Akabinde yetkili bir kullanıcı ile veritabanını güncelleyip tekrar arama yaptığımda artık bulabildiğimi görüyorum.

sudo locate Mehmetoz1299
sudo updatedb
sudo locate Mehmetoz1299 
metin, ekran görüntüsü, ekran içeren bir resim

Açıklama otomatik olarak oluşturuldu
Blog'a Dön