Android

Linux'ta konum komutu

Linux vs Windows vs MacOS для работы. Какой ЛИНУКС выбрать в 2020 для рабочего компьютера?

Linux vs Windows vs MacOS для работы. Какой ЛИНУКС выбрать в 2020 для рабочего компьютера?

İçindekiler:

Anonim

Linux üzerinde çalışırken en yaygın kullanılan işlemlerden biri, dosya ve dizinleri aramaktır. Linux sistemlerinde, en çok kullanılanları find ve locate dosyaları aramanıza izin veren birkaç komut vardır.

locate komutu, dosyaları ve dizinleri adlarına göre aramanın en hızlı ve en basit yoludur.

Bu öğreticide, locate komutunun nasıl kullanılacağını açıklayacağız.

Tespit kurulumu (bulma komutu bulunamadı)

Dağıtım ve sistemin nasıl sağlandığına bağlı olarak, yerleştirme paketi Linux sisteminize önceden yüklenmiş olabilir veya olmayabilir.

locate yardımcı programının sisteminizde yüklü olup olmadığını kontrol etmek için terminalinizi açın, locate yazın ve Enter tuşuna basın. Paket yüklüyse sistem locate: no pattern to search for specified , aksi takdirde locate command not found gibi bir şey görürsünüz.

locate kurulu değilse dağıtımınızın paket yöneticisini kullanarak kolayca kurabilirsiniz.

Ubuntu ve Debian üzerinde kurulum locate

sudo apt update sudo apt install mlocate

CentOS ve Fedora üzerinde kurulum locate

sudo yum install mlocate

İş Yeri Nasıl Bulunur?

locate komutu, updatedb komutu tarafından oluşturulan bir veritabanı dosyası aracılığıyla belirli bir deseni arar. Bulunan sonuçlar her satırda bir tane olmak üzere ekranda görüntülenir.

Mlocate paketinin yüklenmesi sırasında, 24 saatte bir updatedb komutunu çalıştıran bir cron işi oluşturulur. Bu, veritabanının düzenli olarak güncellenmesini sağlar. Cron işi hakkında daha fazla bilgi için /etc/cron.daily/mlocate dosyasını kontrol edin.

Veri tabanı, updatedb komutu root veya kullanıcı olarak sudo ayrıcalıklarına göre çalıştırılarak manuel olarak güncellenebilir:

sudo updatedb

Güncelleme işlemi, dosya ve dizin sayısına ve sisteminizin hızına bağlı olarak biraz zaman alacaktır.

Veritabanı güncellemesinden sonra oluşturulan dosyalar tespit sonuçlarında gösterilmez.

Dosya sisteminde arama yapan daha güçlü find komutuyla karşılaştırıldığında, locate çok daha hızlı çalışır ancak birçok özelliğe sahip değildir ve yalnızca dosya adıyla arama yapabilir.

locate Komutu Nasıl Kullanılır

locate komutunun sözdizimi aşağıdaki gibidir:

locate PATTERN…

En temel biçiminde, herhangi bir seçenek olmadan kullanıldığında, locate komutu, arama deseniyle eşleşen ve kullanıcının okuma iznine sahip olduğu tüm dosya ve dizinlerin mutlak yolunu yazdırır.

Örneğin .bashrc adlı bir dosyayı aramak için şunu yazabilirsiniz:

locate.bashrc

Çıktı, adlarında .bashrc dizesini içeren tüm dosyaların adlarını içerecektir:

/etc/bash.bashrc /etc/skel/.bashrc /home/linuxize/.bashrc /usr/share/base-files/dot.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/bash.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bashrc

/root/.bashrc dosyası, komutu /root dizinine erişim izinleri olmayan normal bir kullanıcı olarak çalıştırdığımız için gösterilmez.

Sonuç listesi uzunsa, daha iyi okunabilirlik için çıktıyı less komuta ekleyebilirsiniz:

locate.bashrc | less

locate komutu ayrıca joker karakter * gibi globbing karakterleri içeren kalıpları da kabul eder. Örüntü globbing karakter içermiyorsa, komut *PATTERN* arar, bu nedenle önceki örnekte adlarında arama desenini içeren tüm dosyalar görüntülenir.

Joker karakter, sıfır, bir veya daha fazla karakteri temsil etmek için kullanılan bir semboldür. Örneğin, sistemdeki tüm .md dosyalarını aramak için:

locate *.md

Arama sonuçlarını sınırlamak için -n seçeneğini ve ardından görüntülenmesini istediğiniz sonuç sayısını kullanın. Örneğin, aşağıdaki komut tüm .py dosyalarını arar ve yalnızca 10 sonuç görüntüler:

locate -n 10 *.py

Varsayılan olarak, locate büyük / küçük harfe duyarlı aramalar gerçekleştirir. -i ( --ignore-case ) seçeneği, büyük / küçük harf kullanımını yoksaymak ve büyük / küçük harfe duyarsız aramayı çalıştırmak için kullanılır.

locate -i readme.md

/home/linuxize/p1/readme.md /home/linuxize/p2/README.md /home/linuxize/p3/ReadMe.md

Eşleşen tüm girişlerin sayısını görüntülemek için -c ( --count ) seçeneğini kullanın. Aşağıdaki komut, adlarında .bashrc içeren tüm dosyaların sayısını döndürür:

locate -c.bashrc

6

Varsayılan olarak, locate , bulunan dosyaların dosya sisteminde hala var olup olmadığını denetlemez. En son veritabanı güncellemesinden sonra bir dosyayı sildiyseniz, dosya arama modeliyle eşleşirse, arama sonuçlarına dahil edilir.

Yalnızca locate çalıştırıldığında varolan dosyaların adlarını görüntülemek için -e ( --existing ) seçeneğini kullanın. Örneğin, aşağıdakiler yalnızca varolan .json dosyalarını döndürür:

locate -e *.json

locate --regex -i "(.mp4|\.avi)"

Sonuç

locate komutu, dosya sisteminde adı verilen bir kalıpla eşleşen dosya ve dizinleri arar. Komut sözdiziminin hatırlanması kolaydır ve sonuçlar neredeyse anında gösterilir.

locate komutunun tüm mevcut seçenekleri hakkında daha fazla bilgi için terminalinizde man locate yazın.

terminal yeri