journalctl ile Linux Log Okuma ve Filtreleme
find ve grep Komutlari ile Gelişmiş Arama
top, htop, iotop: Sistem performansını takip etme

find ve grep Komutlari ile Gelişmiş Arama

Linux sistemlerinde dosya ve içerik arama işlemleri, sistem yöneticileri ve geliştiriciler için sıkça kullanılan bir görevdir. Bu işlemler için en güçlü iki komut: find ve grep.

Bu rehberde, bu iki komutu birlikte ve ayrı ayrı nasıl kullanabileceğimizi öğreneceksiniz.

1. find Komutu Nedir?

find, belirtilen dizinlerde şarta göre dosya aramak için kullanılır.

Temel Kullanım:

find /hedef/dizin -name "dosya.txt"

Dosya Türüne Göre Arama:

find /etc -type f    # Sadece dosyalar
find /etc -type d    # Sadece dizinler

Tarihe Göre Arama:

find /var/log -mtime -7   # Son 7 günde değişmiş dosyalar

Boyuta Göre Arama:

find / -size +100M    # 100 MB'tan büyük dosyalar

Belirli Bir Komutla Eşleşen Dosyaları Silme:

find /tmp -type f -name "*.log" -delete

2. grep Komutu Nedir?

grep, bir dosyanın içeriğinde belirli metinleri aramak için kullanılır.

Temel Kullanım:

grep "anahtar kelime" dosya.txt

Duyarsız Arama:

grep -i "anahtar" dosya.txt

Satır Numarası ile Görüntüleme:

grep -n "hata" log.txt

Tüm Dosyalarda Arama:

grep -r "config" /etc

3. find ve grep Komutlarını Birlikte Kullanmak

Belirli bir dizinde, belirli uzantıya sahip dosyaların içinde arama yapmak için birlikte kullanılabilir:

Örnek:

find /var/www -name "*.php" -exec grep -H "mysqli" {} \;

Yukarıdaki komut, /var/www dizininde .php uzantılı dosyaları tarar ve içinde mysqli geçenleri listeler.

4. Daha Etkili grep Kullanımı

Renkli Gösterim:

grep --color=auto "error" log.txt

Birden Fazla Desen Arama:

grep -E "error|fail|critical" log.txt

Sadece Eşleşen Kısmı Göster:

grep -o "https://[^"]\+" index.html

Sonuç

find ve grep komutları, Linux’ta etkili bir şekilde arama yapmanın temel taşlarındandır. Özellikle sistem bakımı, hata tespiti ve dosya yönetimi gibi konularda bu iki komutun birlikte kullanılması zamandan tasarruf sağlar ve işlerinizi kolaylaştırır.