Linux lsof Komutu: Kapsamlı Kullanım ve Sorun Giderme Rehberi

Linux sistemlerinde açık dosyaları, ağ bağlantılarını ve süreçleri yönetmek için kullanılan lsof komutuna dair kapsamlı bir teknik rehber.

L
Linuxize
23 görüntülenme
Linux lsof Komutu: Kapsamlı Kullanım ve Sorun Giderme Rehberi

lsof Komutuna Giriş

Linux sistemlerinde lsof (List Open Files), sistem üzerindeki açık dosyaları listelemek için kullanılan en güçlü araçlardan biridir. Unix dünyasında 'her şey bir dosyadır' felsefesi gereği, ağ soketleri, dizinler ve cihazlar da dosya olarak kabul edilir. Bu rehber, sistem yöneticilerinin lsof ile günlük operasyonel sorunları nasıl çözeceğini anlatmaktadır.

Temel Sözdizimi ve Kullanım

lsof komutu, varsayılan olarak mevcut kullanıcının erişebildiği dosyaları listeler. Sistem genelinde tam bir görünürlük için sudo yetkisi gereklidir.

  1. Sistem genelindeki tüm açık dosyaları listelemek için:
    sudo lsof
  2. Belirli bir PID'ye (Process ID) ait dosyaları görmek için:
    sudo lsof -p 1234
  3. Belirli bir kullanıcıya ait dosyaları listelemek için:
    lsof -u username

Ağ ve Port Denetimi

Bir portun hangi uygulama tarafından kullanıldığını bulmak, özellikle servis çakışmalarında kritik öneme sahiptir.

Not: -nP bayraklarını kullanmak, DNS çözümlemesini devre dışı bırakarak komutun çok daha hızlı çalışmasını sağlar.

TCP 80 portunu dinleyen süreci bulmak için:

sudo lsof -nP -iTCP:80 -sTCP:LISTEN

Dosya Sistemi ve Disk Alanı Sorunları

Bazen dosyaları silseniz bile, disk alanı boşalmaz. Bunun nedeni, bir sürecin o dosyayı hala açık tutmasıdır.

  1. Silinmiş ancak hala açık olan dosyaları listelemek:
    sudo lsof +L1
  2. Belirli bir dizin altındaki açık dosyaları özyinelemeli (recursive) olarak görmek:
    sudo lsof +D /var/log

İleri Seviye Filtreleme ve Scripting

lsof, otomasyon süreçlerinde de oldukça kullanışlıdır. Örneğin, belirli bir portu dinleyen süreci otomatik sonlandırmak için:

kill $(sudo lsof -t -iTCP:8080 -sTCP:LISTEN)

Burada -t bayrağı, komutun sadece PID numarasını döndürmesini sağlar, bu da onu kabuk scriptleri için mükemmel bir araç haline getirir.

Sorun Giderme İpuçları

  • Eksik Çıktı: Eğer lsof çıktısı beklediğinizden azsa, mutlaka sudo ile çalıştırın.
  • Yavaşlık: Büyük dizinlerde arama yaparken +D yerine +d kullanarak derinliği sınırlandırın.
  • Disk Alanı: Dosya silinmesine rağmen alan boşalmıyorsa, lsof +L1 ile ilgili süreci bulun ve ilgili servisi yeniden başlatın.

Kaynak

Linuxize