Linuxta Beş Dosya Arama Komutu

Giriş

Beş dosya arama komutları Linux üzerinde vardır: whereis, locate, which, type, ve find. Her birinin kendine özgü özellikleri vardır ve belirli arama senaryoları için tasarlanmıştır. Bu kılavuz size her komutu tanıtacak ve örnek kullanımları gösterecektir. Bu komutlardan herhangi biri hakkında daha fazla bilgi almak için, uygun sayfayı gözden geçirmek en iyisidir.

whereis

whereisKomut belirtilen herhangi bir program adı için dizinleri yüklemek birkaç standartta ikili dosyaları, kaynak kodu ve çevrimiçi manuel sayfaları aramak için kullanılır.

Çünkü whereissisteminizdeki her yeri aramaz, bu spesifik dizinleri dışında tüm dosyalar bulunmayacak. Aynı nedenden ötürü, bulunsun veya bulunmasın, arama sonucunuzu hızlı bir şekilde alırsınız.

Ayrıca, doğrudan kabuğa inşa edilen komutları aramaz.

Örneğin, lskomut hakkında bilgi bulmak istiyorsanız , terminalinizde aşağıdaki komutu çalıştırın:

whereis ls

Aşağıdaki gibi bazı geri bildirimler alacaksınız:

ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

Sonuç olarak, /bin/lsbulmak istediğiniz ikili, diğer ikisi lsprogram için manpages, program için kaynak kodu lsbulunamadı.

/bin/lsDosyayı ana dizininize ve dizine kopyalayın ve komutu yeniden /usr/binçalıştırın whereis:

cp /bin/ls ~
cp /bin/ls /usr/bin/ls
whereis ls

Gördüğünüz gibi, yalnızca /bin/lsve /usr/bin/lsarama sonuçlarında bulundu. lsEv dizini dizinleri yüklemek standart onlardan biri olmadığı için ev dizininde program bulunamadı.

ls: /bin/ls /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

Aşağıdaki komutu çalıştırırsanız:

whereis cd

Aşağıdaki satıra benzer bir çıktı göreceksiniz. cdKabuğun yerleşik bir komutu olduğu için herhangi bir ikili dosya bulunamamıştır .

cd: /usr/share/man/man1/cd.1.gz /usr/share/man/man1p/cd.1p.gz

locate

locateKomutu bir veritabanı yardımıyla adıyla dosyaları bulmak için kullanılır ( /var/lib/mlocate/mlocate.db). Bu veritabanı temel olarak dosya sisteminizin düzeninin bir anlık görüntüsüdür. Bu veritabanında sorgunuzla eşleşen kayıtlar arama sonucunda listelenir. Varsayılan olarak, locatekomut sorgunuzu yol adı da dahil olmak üzere her kaydın tam adının herhangi bir bölümü ile eşleşecek şekilde kullanır. Bu nedenle, arama sonucundaki eşleşen dosya sayısı beklediğinizden fazla olabilir.

Veritabanı eskidikçe, locatekomutun arama sonucu daha az doğru olur. Artık mevcut olmayan dosyaları fark edebilirsiniz veya yeni oluşturulan dosyalar için eşleşme görmezsiniz. Varsayılan olarak, mlocate.dbveritabanı günde bir kez otomatik olarak güncellenir. Sen kullanabilirsiniz updatedbmanuel olarak güncellemek için komutu.

Arama, dosya sistemi yerine veritabanında gerçekleştirildiğinden, arama hızı çok hızlıdır.

Aşağıdaki komutu çalı��tırırsanız:

locate ls

Beklediğiniz sonuç yerine birçok kayıt alacaksınız.

Arama sonucunu daha doğru hale getirmek için -b, sorgunuzu kullanarak her kaydın yalnızca taban adıyla eşleşecek şekilde aramayı kısıtlamak için bayrağı kullanabilirsiniz :

locate -b "\ls"

Bu kez, lsdosya sisteminizde tam olarak çağrılan her dosyanın konumunu alacaksınız :

/bin/ls

which

whichKomut Eğer ortam değişkeninin değeri belirtilen komutu arayacaktır PATHve varsayılan olarak ilk sonuç döndürüyor. Bir diğer adı sorguluyorsanız, whichkomut, aramanızı gerçekleştirmeden önce diğer ad için gerçek komutu belirler.

whichKomut sadeliği nedeniyle çok hızlıdır.

Kullanımı whichkomutu basit:

which your_command

Birincisi yerine eşleşen tüm komutları göstermek istiyorsanız, -abayrağı kullanın :

which -a your_command

Takma adı alınmış bir komutu aramak için bir örnek:

which ll

Arama sonucu şöyle olur:

alias ll='ls -l --color=auto'
    /bin/ls

type

Varsayılan olarak typekomut, bir komut adının nasıl yorumlanacağını belirtir. Olası sonuçlar arasında takma ad, anahtar kelime, işlev, yerleşik veya dosya bulunur. whereisKomut gibi, komut da typesorgunuzu yanıtlamak için yalnızca birkaç standart kurulum dizininde arama yapar.

Farklı komutlar yazmak için bazı örnekler:

Bir kabuk yerleşik komutu:

type cd

cd is a shell builtin

Dosya sistemindeki bir ikili dosya:

type sudo

sudo is /usr/bin/sudo

Bir takma ad:

type ls

ls is aliased to `ls --color=auto'

find

Bu öğreticide tanıtılan beş dosya arama komutu arasında, findkomut en güçlü komuttur. Aynı zamanda en yavaş olanıdır. Diğer dört komuttan farklı olarak, findkomut dosyanızı bir dosyada bir i-düğümü olmak üzere tüm dosya sisteminde arar. Komutla, findihtiyacınız olan her dosyayı bulmak için karmaşık sorgu ölçütlerini kullanabilirsiniz, hatta bulunan dosyalar üzerinde ek eylemler de gerçekleştirebilirsiniz.

findKomut için arama kriterleri, bu kadar kısa bir makalede açıklanamayacak kadar karmaşık, bunun yerine birkaç örnek var.

findKomutun temel biçimi :

find [path] [option] [action]

Çalışma dizinindeki tüm dosyaları ve tüm alt dizinlerini bulmak için:

find

aaaAna dizininizde ve tüm alt dizinlerinde çağrılan bir dosyayı bulmak için :

find ~ -name 'aaa'

Dosya sistemindeki son 24 saat içinde değiştirilmiş tüm dosyaları bulmak için:

find / -mtime 0

Web dizinindeki tüm dosyaları ve kullanıcıya ait tüm alt dizinlerini bulmak için nginx:

find /usr/share/nginx/html/ -user nginx

Çalışma dizinindeki izinleri olan tüm dosyaları bulmak için 0744:

find -perm -0744

aaaÇalışma dizininde adıyla bir dosya bulmak ve ayrıntılı bilgilerini listelemek için:

find -name 'aaa' -exec ls -l {} \;


Leave a Comment

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun