Linux'ta Bul komutu nasıl kullanılır

Bu durumda Linux gibi bir UNIX ortamında çalışırken, ister idari ister kişisel olsun, birden fazla görevde bize yardımcı olacak bazı komutların kullanımını ayrıntılı olarak bilmek idealdir. Bunlardan biri, adından da anlaşılacağı gibi, işletim sistemindeki dosyaları veya öğeleri basit ama işlevsel ve eksiksiz bir şekilde bulmak için kullanılan Bul komutudur.

find komutunu kullanmaya karar verdiğimizde, yürütülecek kullanım sözdiziminde belirttiğimiz koşullara göre dosya veya dizin listesini aratabilir ve bulabiliriz. Daha sonra find komutunun ne olduğunu ve çeşitli parametrelerini kullanarak onu Linux'ta nasıl kullanabileceğimizi göreceğiz.

bulmak nedirFind, Linux dağıtımlarında bir şekilde bilinmemesine rağmen çok faydalı olan bir komuttur. Elimizde çok dosya varken ve bulunması gerçekten zor olduğunda dosya bulma işini kolaylaştıracak bir komuttur. Dosyalara ek olarak, tüm dizinleri de arayabilir veya silebilirsiniz. Boyut, isim, uzantı, tarih gibi belirli filtrelerle arama yapabilirsiniz…

Bul ile aramaları filtrelemeBu komutu kullanmanın en büyük avantajlarından biri, sonuçları aşağıdaki gibi çeşitli değişkenlere göre filtreleyebilmemizdir:

  • izinler
  • Gruplar
  • Kullanıcılar
  • dosya türü
  • Oluşturma veya değiştirme tarihi
  • Boyut ve daha fazla seçenek mevcut

Solvetic, Find komutunu Linux'ta etkin bir şekilde kullanmak için çeşitli yöntemleri açıklayacak ve bu durumda Ubuntu 19.04 kullanacağız. Linux terminalini kullanarak filtreli dosyaları bulmak ve aramak için find komutunu nasıl kullanabileceğimizi göreceğiz.

1. Linux'ta komutlarla dosyalar ada veya uzantıya göre nasıl aranır


Bu, Find komutunu kullanmanın en önemli kısmıdır ve bunun için doğrudan bir sonuç elde etmek için nesnenin adını veya uzantısını (.mp4, .txt,.Jpg.webp, vb.) bilmek gerekir.

Aşama 1
Örneğin, masaüstünde bir klasörde bulunan Solvetic.docx adlı bir dosya bulmak istiyoruz, bu durumda o yola gitmeli ve ardından aşağıdakileri gerçekleştirmeliyiz:

 -name Solvetic.docx'i bul 
Adım 2
Sonuç olarak, söz konusu dosyanın barındırıldığı klasörü göreceğiz (varsa):

Aşama 3
Aksine, tüm dosyaları .docx gibi belirli bir uzantıya göre görmek istiyorsak, aşağıdakileri uygulayacağız:

 bul -name "* .docx"
4. Adım
Yıldız işareti, bu uzantıya sahip tüm dosyaları listeler

Adım 5
Bul komutunun genel amaçlı sözdizimi aşağıdaki gibidir:

 bul [-H] [-L] [-P] [yol…] [ifade] 
6. Adım
Bu parametreler şunlardır:

-HYalnızca komut satırı argümanlarının işlenmesi dışında sembolik bağlantıları izlemez.

-LSembolik bağlantıları takip edin.

-PAsla sembolik bağlantıları takip etmez ve varsayılan seçenektir

7. Adım
[path…] seçeneği, aramanın Linux'ta gerçekleştirileceği konumu belirtir. [ifade] parametresi operatörler, seçenekler, testler veya yürütülecek eylemler olabilir, varsayılan olarak Bul komutunun mevcut sembolik bağlantıları yok sayacağını, ancak -L ile daha eksiksiz sonuçlar için onları arayacağımızı görüyoruz.
Bul'u çalıştırdığımızda seçebileceğimiz üç optimizasyon düzeyi vardır, bunlar:

  • -O1
  • -O2
  • -O3

8. Adım
-O1 değeri varsayılan seçenektir ve işlevi, Bul komutunu tanımladığımız dosya adına göre aramaya zorlamaktır. -O2 düzeyi, dosya adı filtrelerine öncelik verilmesiyle ilgilenir, ardından dosya türüne göre tüm filtreleri yürütür ve daha sonra tam sonuçlar için diğer koşulları kullanır ve -O3 düzeyi, tüm kaynakları maksimum düzeyde kullanarak daha derin bir optimizasyon gerçekleştirir. .

Komut seçeneklerini bulunGenel Bul seçenekleri şunlardır:

  • -O1: varsayılan değer, belirtilen dosyanın adına dayalı bir filtredir.
  • -O2: Önce dosya adına, ardından türüne göre arama yapın
  • -O3: Sonuçları kaynak kullanımına göre otomatik olarak sıralayan bir arama çalıştırın
  • -maxdepth X: Geçerli dizini ve X düzeylerinde alt dizinleri arayın.
  • -iname: Metne güvenmeden arama yapın.
  • -not: Yalnızca aramayla eşleşmeyen sonuçları döndürür
  • -type f: Yalnızca dosyaları ara.
  • -type d: dizin aramasını çalıştırın

2. Linux'ta Büyük/Küçük Harfe Duyarlı Olmayan Komutlarla Dosyaları Ada veya Uzantıya Göre Nasıl Bulunur?

Bu, dosyaları bulmamızı ve büyük ve küçük harf içeren sonuçları görüntülememizi sağlayan bir yöntemdir:

 -iname solventtic.docx'i bulun 

Dizinlerdeki isimleri arayınBu yöntemle, ana dizinde (/) Solvetic adlı tüm dizinleri tespit edebiliriz:

 bul / -type d -name Solvetic

İzinleri olmayan dosyaları bulun 777777 (Rwxrwxrwx) izinleri, herhangi bir kısıtlaması olmayan izinlerle, yani herhangi bir kullanıcı bunlara erişebilir.
Bu izne sahip olmayan dosyaları görmek için aşağıdakileri uygulayacağız:

 bul / -type f! -perm 777 

Şimdi, 777 izni olan dosyaları görmek istiyorsak, yürüteceğiz:

 bulmak. -type f -perm 0777 -baskı 

2644 izinli SGID dosyalarını bulunİzin 2644, okuma ve yazma izinlerine sahip dosyalardır, bu yüzden bu dosyaları görmek için yürüteceğiz:

 bul / -izin ver 2644

Linux'ta SUID dosyalarını bulunSUID dosyaları (Yürütme sırasında sahip Kullanıcı Kimliğini ayarla), bir öğeye verilen özel dosya izinleridir ve dosya sahibinin izinleriyle bir programı veya dosyayı yürütmek için bir kullanıcıya geçici olarak izinler vermeye hizmet eder.
Onları görmek için aşağıdakileri uygulayacağız:

 bul / -perm / u = s

SGID dosyalarını arayınSGID dosyaları (Yürütme sırasında Grup Kimliğini Ayarla), oturum açmış olan kullanıcının erişim izinlerini devralmanın mümkün olduğu özel bir dosya izinleri türüdür. Bu dosyaları görüntülemek için aşağıdakileri uygulayacağız:

 bul / -perm / g = s

Salt okunur dosyaları bulunLinux'ta hangi salt okunur dosyaları görmek için yürüteceğiz:

 bul / -perm / u = r

Yürütülebilir dosyaları araHangi dosyaların yürütülebilir olduğunu kesin olarak bilmek istiyorsak, aşağıdaki satırı kullanabiliriz:

 bul / -perm / a = x

3. Linux'ta 777 ve chmod 755 izinlerine sahip dosyalar nasıl bulunur

Aşama 1
Bunlar, yürüteceğimiz bu dosyaları görmek için özel okuma ve yazma izinleridir:

 bul / -type d -perm 777 -print -exec chmod 755 {} \;

Adım 2
Şimdi, 777 ve chmod 644 izinlerine sahip dosyaları bulmak istiyorsak şunu çalıştırıyoruz:

 bul / -type f -perm 0777 -print -exec chmod 644 {} \;

4. Linux'ta komutlarla dosyaları bulun ve silin

Dosya bul ve silBul ile bir dosyayı algılayabilir ve silme işlemine devam edebiliriz, bu durumda aşağıdakileri uyguladığımız solventtic.docx dosyasını sileceğiz:

 bulmak. -type f -name "solvetic.docx" -exec rm -f {} \; 

Birkaç dosyayı silmek istersek, uzantılarını kullanabiliriz:

 bulmak. -type f -name "* .docx" -exec rm -f {} \;

Boş dosyaları veya dizinleri arayınBoş dizinleri bulmak için /tmp gibi bir yol belirtebiliriz, bu durumda aşağıdakileri uygularız:

 bul / tmp -type d -boş

Boş dosyaları aramak için şunu yürütürüz:

 bul / tmp -type f -boş

Gizli dosyaları bulLinux'ta ve tüm sistemlerde, bazı dosyalar güvenlik nedeniyle gizlenir, bazı idari veya destek görevleri için bunların ne olduğunu görmek gerekirse, aşağıdaki komutu istenen yolla, bu durumda ana sayfa ile yürütebiliriz:

 bul / home -type f -name ". *"

Bir kullanıcının dosyalarını bulunBul komutunun bize sunduğu birçok seçenekten bir diğeri, belirli bir kullanıcının dosyalarını algılamaktır, örneğin, çözücü kullanıcının tüm dosyalarını ana dizinde bulmak için aşağıdakileri yürüteceğiz:

 bul / ana kullanıcı çözücüsü

Belirli bir gruptan dosyaları bulunBir grubun elemanlarını bulmak için aşağıdaki satırı uygulayacağız:

 bul / ev - grup çözücü

5. Linux'ta komutlarla bir zaman aralığındaki dosyaları bulun

Aşama 1
Bul komutuyla, belirli bir zaman aralığında kullanılmış dosyaları aramak mümkün olacak, örneğin, son 30 güne ait değiştirilmiş dosyaları görmek için yürütebiliriz:

 bul / -mtime 30 

Adım 2
Erişim sağlayan dosyaları görmek için yürüttüğümüz:

Aşama 3
Örneğin 1 ile 5 arasında bir gün aralığında değiştirilen dosyaları görmek için aşağıdaki satırı kullanacağız:

 bul / -mtime +1 -mtime -5

4. Adım
Son bir saat veya dakika içinde herhangi bir değişiklik gösteren dosyaları görmek istiyorsak aşağıdakileri uygulayabiliriz:

 bul / -cmin -45
Adım 5
Bu, son 45 dakikadaki dosyaları listeler:

6. Adım
Aynı şekilde, bir zaman aralığında erişilen dosyaları şöyle sıralayabiliriz:

 bul / -amin -60 

6. Linux'ta komutlarla belirli bir boyuttaki dosyaları bulun

Aşama 1
Arama kriterlerinde bir dosya boyutu tanımlayarak, çalıştırdığımız ağırlığı 10 MB olan tüm dosyaları görmek mümkündür:

 bul / -boyut 10M

Adım 2
Bir ağırlık aralığı oluşturmak için kullanacağız:

 bul / -size + 15M -size -90M

Aşama 3
Herhangi bir nedenle belirli bir boyuttaki bir dosyayı tespit etmek ve silmek istersek, aşağıdaki sözdizimini kullanırız:

 bul / -size + 200M -exec rm -rf {} \;
NotUnix'teki find sürümünün birkaç eksikliği vardır, bu nedenle istenen sonucu elde etmek için komutumuzu değiştirmeliyiz, örneğin:

  • Linux'ta
 bulmak. -boyut 50M | xargs ls -l
  • Unix'te
 bulmak. -boyut 50M -print0 | xargs -0 ls -l 
Script düzeyinde, sonuç alıp almadığımızdan bağımsız olarak find ile tüm sonuçlar pozitiftir, linux'ta sonuç alamama durumunda -print -quit seçeneğine sahibiz.

Bul'un Unix sürümünde bu seçenek yoktur ve örneğin sonucu doğrulamak için bunu grep ile birlikte kullanmak en iyisidir.

 bulursanız -r a'yı okuyun. -maxdepth 1 -name "$ a" -print -quit | grep -q. ardından "Dosya Bulundu" yankısı aksi takdirde "Dosya bulunamadı" yankısı

7. Linux'ta dosyaları grafiksel olarak bulun


Grafiksel bir ortama (GUI) sahip mevcut Linux dağıtımları, istenen dosyaları kolayca tespit etmek için entegre arama motorunu kullanma imkanı sunar, Ubuntu 19.04 durumunda, Dosyalara erişebiliriz ve arama alanına istenen terimi girebiliriz. ilgili sonuçları hemen görüntüleyin:

BÜYÜT

Bul komutu ve duruma göre en iyi sonuçları elde etmek için çeşitli varyasyonları sayesinde Linux'ta dosya aramanın gerçekten tamamlanmış bir şey olduğunu görüyoruz.

wave wave wave wave wave