find: find komutuyla şu şekilde arama yapabiliriz find aramayapılacakyer -name “aranan şey”
ör: find . -name home
Bu örnekte . ile içindde bulunduğumuz klasörde home adlı klasör/dosyaları arar
ör: find / -name dev
root’ da dev adlı klasör veya dosyaları arar.
Eğer root kullanıcı değilseniz ya “su -” komutuyla root kullanıcısına geçmeniz ya da komutu sudo komutuyla (sudoers kullanıcısı iseniz) kullanmanız gerekir yoksa bazı klasörlere giremezsiniz ve komut hatalar verir.
ör: sudo find / -name dev
gibi
locate: locate komutunun kullanımı daha basittir “locate dosyaadı” gibi fakat find komutu gibi her dağıtımda otomatik olarak gelmez, kendiniz kurmanız gerekebilir. locate komutunu kurmak için
Debian tabanlı bir linux dağıtımı kullanıyorsanız
sudo apt install plocate
Centos 7 ve altı tabanlı bir linux dağıtımı kullanıyorsanız
yum install mlocate
Centos 8 ve üstü veya fedora tabanlı bir linux dağıtımı kullanıyorsanız
dnf -y install mlocate
Arch tabanlı bir linux dağıtımı kullanıyorsanız
pacman -Ss locate
komutlarını terminalden girerek kurmanız gerekebilir. Ayrıca locate’in veritabanını
sudo update db
komutuyla güncellemeniz gerekebilir.
find & locate farkları
- locate bir dosyayı ararken bir database kullanır find komutuysa dosya sistemi içinde teker teker arama yapar bu yüzden locate komutu daha hızlıdır.
- locate database kullandığı için database’in düzenli olarak güncellenmesi (sudo updatedb komutuyla) gerekir yoksa yanlış sonuç verebilir