Örneklerle Linux’ta Lsof Komutu Nasıl Kullanılır
Merhabalar,
Bu bizim devam eden Linux komut serimizdir ve bu makalede pratik örneklerle lsof komutunu inceleyeceğiz. ‘Liste Açık Dosyaları’ anlamına gelen lsof, hangi dosyaların hangi işlemle açıldığını bulmak için kullanılır. Hepimizin bildiği gibi, Linux/Unix her şeyi bir dosya (pipes, sockets, directories, devices vb.) olarak düşünür.lsof komutunu kullanmanın nedenlerinden biri, dosyaların kullanıldığını söylediği için bir diskin bağlantısının kaldırılamamasıdır. Bu komut yardımıyla kullanımda olan dosyaları kolayca bulabiliriz.
1. Tüm Açık Dosyaları lsof Komutuyla Listeleme:
Aşağıdaki örnekte, Command, PID, USER, FD, TYPE vb. sütunları görüntüleyen bazılarının daha iyi anlaşılması için çıkarılan açık dosyaların uzun bir listesini gösterecektir.Açık olan dosyalar arka planda çok fazla olduğu için shell üzerinde direk görüntülemiyorum bu nedenle tüm çıkışı bir dosyaya yönlendireceğim.
lsof > Desktop/KOMUTLAR/lsof.txt
Bölümler ve değerleri kendiliğinden açıklayıcıdır. Ancak, FD & TYPE sütunlarını daha net olarak inceleyelim.
FD – Dosya tanımlayıcı anlamına gelir ve bazı değerleri aşağıdaki gibidir.
cwd geçerli çalışma dizini
rtd kök dizini
txt program metni (code and data)
mem bellek eşlemeli dosya
Ayrıca FD sütunlarında 1u gibi sayılar gerçek dosya tanımlayıcısıdır ve ardından erişim bilgisi için u,r,w’si gelir.
r okuma erişimi için.
w yazma erişimi için.
u okuma ve yazma erişimi için.
TYPE – dosyaların türü ve kimliği.
DIR – Dizin
REG – Normal dosya
CHR – Karakter özel dosyası.
FIFO – İlk Giren İlk Çıkar
2. Kullanıcıya Özel Açılan Dosyaları Listeleme:
Aşağıdaki komut, firatcanoglu kullanıcısının tüm açık dosyalarının listesini görüntüleyecektir.
lsof -u firatcanoglu > Desktop/KOMUTLAR/lsof.txt
3. Belirli Bağlantı Noktasında Çalışan İşlemleri Bulun:
Belirli bir bağlantı noktasının tüm çalışan işlemlerini bulmak için, -i seçeneğiyle aşağıdaki komutu kullanmanız yeterlidir. Aşağıdaki örnek, 9922 numaralı bağlantı noktasının tüm çalışan işlemlerini listeleyecektir.
lsof -i TCP:9922
4. Yalnızca IPv4 ve IPv6 Açık Dosyalarını Listeleme:
Aşağıdaki örnekte yalnızca IPv4 ve IPv6 ağ dosyalarının ayrı komutlarla açıldığı gösterilmektedir.
lsof -i 4
lsof -i 6
5. TCP Bağlantı Noktasının Belirli Aralıktaki Portların Açık Dosyaları Listeleme 1-1024:
lsof -i TCP:1-1024
6. Belirli Bir Kullanıcıyı ‘^’ Karakteriyle Hariç Tutma:
lsof -i -u^root
Burada root kullanıcısını hariç tutalım.Belirli bir kullanıcıyı yukarıda gösterildiği gibi komutla ‘^’ kullanarak hariç tutabiliriz.
7. Kimin Hangi Dosyaları ve Komutları baktığını Öğrenme:
lsof -i -u firatcanoglu
8. Tüm Ağ Bağlantılarını Listeleme:
‘-i’ seçeneği ile aşağıdaki komut, Dinlenen (LISTEN) & yada bağlantı kurulan (ESTABLISHED)’ tüm ağ bağlantılarının listesini gösterecektir.
lsof -i
9. PID ile arama yapma:
Aşağıdaki örnek yalnızca PID’si 4200 olan ları görüntüleyecek.
lsof -p 4200
10. Belirli Bir Kullanıcının Tüm İşlemlerini Sonlandırma:
Bazen belirli bir kullanıcı için tüm işlemleri öldürmeniz gerekebilir. Aşağıdaki komut, firatcanoglu kullanıcısının tüm işlemlerini öldürür.
kill -9 `lsof -t -u firatcanoglu`
Bu eğitim yazımızın sonuna geldik.Bu yazıda size bütün parametrelerle ilgili örnek yapmam çok mümkün değil maalesef.Bir çok parametre var.Man lsof komutu ile daha detaylı bir şekilde lsof komutu ile ilgili bilgi alabilirsiniz.
Umarım bu eğitim yazısı sizler için faydalı olur.
merhaba,
yazdığım başarılı eğitim yazıları için çok teşekkür ediyoruz.Başkan linux öğretiyorsunuz.Zamanınız için teşekkür ederim tekrar.
Merhaalar,
Eğitim makaleleriniz çok başarılı.Teşekkür ederim.