Linux Komutları

Linux lsof Komutu

Linux lsof Komutu
Linux'taki "lsof" komut aracı, "açık dosyalar listesini" kontrol etmek için çok kullanışlı olan birçok yerleşik araçtan biridir. Evet, "lsof" terimi, görevin kısaltmasıdır.

Sistemde her zaman çalışan, sistemin farklı dosyalarına erişen bir takım işlemler vardır. Bu dosyalar disk dosyaları, komut dosyaları, ağ yuvaları, aygıtlar, adlandırılmış kanallar ve diğerleri olabilir. “lsof” kullanarak hata ayıklama gibi pek çok şey yapmak mümkündür. Sistem yöneticilerinin hangi dosyalara hangi işlemlerle erişildiğini anlaması da oldukça yararlıdır. Bulduğum en kullanışlı senaryolardan biri, bir dosya sisteminin bağlantısını kesmek üzereyken ancak hala erişiliyorsa.

Lafı fazla uzatmadan “lsof” ile başlayalım! Mevcut UNIX/Linux sisteminizde zaten “lsof” kurulu olduğunu varsayıyorum.

yer

hangi lsof

Bu, komutun tam yolunu bildirir, bu durumda "lsof".

"lsof" versiyonu
lsof -v

Bu, ikili, derleyici sürümü, derleyici bayrakları ve diğerleri dahil olmak üzere, "lsof" un ayrıntılı sürüm bilgilerini rapor edecektir.

Temel “lsof” kullanımı

“lsof”u kendi başına çalıştır.

lsof

Bu, komutun çalıştırıldığı anda sistem tarafından erişilen tüm dosyaların BÜYÜK bir listesini bildirir.

Tüm alanlar açıklayıcı olsa da, çoğunlukla “FD” ve “TYPE” sütunları ve değerleri konusunda kafanız karışır. Onları kontrol edelim.

FD: “Dosya Tanımlayıcı”nın Kısaltması. Aşağıdaki değerlerle geliyor.

Sütunda fark edeceğiniz başka değerler de vardır, örneğin “1u” ve ardından u, r, w, vb. değer. bunlar ne anlama geliyor?

TÜR: Dosya türünü ve kimliğini açıklar. Değerler aşağıdaki gibidir.

Kullanıcıya özel açılan dosyalar

Linux mükemmel bir çok kullanıcılı platformdur. Birden fazla kullanıcı aynı anda sisteme erişebilir ve izinlerinin olduğu işlemleri gerçekleştirebilir.

Belirli bir kullanıcı tarafından erişilen dosyaları kontrol etmek için aşağıdaki komutu çalıştırın.

lsof -u

Ancak, daha yüksek rütbeli kullanıcıları kontrol etmek için “lsof”, “süper kullanıcı” ayrıcalığına ihtiyaç duyacaktır.

sudo lsof -u

Belirli bir kullanıcının eriştiği tüm komutları ve dosyaları kontrol etmeye ne dersiniz?? Aşağıdakini çalıştırın.

lsof -i -u

Yine, daha yüksek rütbeli kullanıcılar için “lsof”, “süper kullanıcı” ayrıcalığına ihtiyaç duyacaktır.

sudo lsof -i -u

Bağlantı noktasına özel çalışan işlemler

Halihazırda belirli bir portu kullanan tüm işlemleri bulmak için “-i” bayrağı ve ardından protokol ve port bilgileri ile “lsof” çağırın.

lsof -i<46><@hostname|host_address>
:

Örneğin, şu anda TCP/IP protokolü üzerinden 80 numaralı bağlantı noktasına erişen tüm programları kontrol etmek için aşağıdaki komutu çalıştırın.

lsof -i TCP:80

Bu yöntem, belirli bir aralıkta, örneğin 1'den 1000'e kadar bağlantı noktalarını kullanan tüm işlemleri göstermek için de kullanılabilir. Komut yapısı, port numarası kısmında biraz sihirle öncekine benzer.

lsof -i TCP:1-1000

Protokole özgü süreçler

Şu anda IPv4 ve IPv6 protokollerini kullanan işlemleri gösteren 2 örnek.

lsof -i 4

lsof -i 6

Ağ bağlantılarını listeleme

Aşağıdaki komut, mevcut sistemden tüm ağ bağlantılarını rapor edecektir.

lsof -i

^ ile hariç

Evet, belirli bir kullanıcıyı, bağlantı noktasını, FD'yi ve diğerlerini “^” karakterini kullanarak hariç tutabiliriz. Tüm çıktıyı mahvetmemek için tek yapmanız gereken onu dikkatli kullanmaktır.

Bu örnekte, "root" kullanıcısının tüm işlemlerini hariç tutalım.

lsof -u^kök

Bu dışlama mekanizmasını “lsof” ile, örneğin “-c”, “-d” vb. gibi bayraklarla kullanmanın başka yolları da vardır. Tüm bayraklar bu mekanizmayı desteklemez. Bu nedenle, bazı komut dosyalarına uygulamadan önce herhangi bir bayrakla bu yöntemle bir demo denemenizi öneririm.

PID arama

PID, sistemde çalışan herhangi bir işlemin önemli bir özelliğidir. Belirli bir sürece daha hassas nokta atışı sağlar. Aynı ikili kendi kopyalarını oluşturabileceği ve paralel olarak farklı görevleri gerçekleştirebileceği için işlem adı birçok durumda pek yardımcı olmaz.

Bir işlemin PID'sini nasıl alacağınızı bilmiyorsanız, çalışan tüm işlemleri listelemek için "ps" kullanın ve işlem adı ve/veya komutları ile "grep" kullanarak çıktıyı filtreleyin.

ps -A

Şimdi “grep” kullanarak filtrelemeyi gerçekleştirin.

ps-A | grep

Şimdi, PID'nin hangi dosyalara eriştiğine bakın.

lsof -p

Belirli bir cihaz için açık dosyaları listeleme

“lsof”un işlevselliği sadece bu işlevlerle sınırlı değildir. Ayrıca "lsof" sonucunu cihaz bazında da filtreleyebilirsiniz. Bu amaçla, komut şöyle görünecek.

lsof

Bu komut, belirli bir dosya sistemine erişen sahip bilgileriyle çalışan tüm işlemleri bulmak için çok kullanışlıdır. Bir dosya sisteminin bağlantısını kesmekte sorun yaşıyorsanız, gitmenin en iyi yolu budur.

lsof

Açılan dosyaları bir dizin altında listeleyin

Önceki örneğe benzer şekilde, herhangi bir işlemin ona erişip erişmediğini öğrenmek için dizin yolunu “lsof”a iletmeniz yeterlidir.

Not: “lsof” dizini tekrar tekrar kontrol eder, bu yüzden zaman alabilir.

=lsof +D

Bonus: tüm kullanıcı etkinliğini sonlandırın

Bir kullanıcının yaptığı her şeyi kolayca karıştırabileceğinden bu kısımda son derece dikkatli olun. Aşağıdaki komut, bir kullanıcının çalışan tüm işlemlerini öldürür.

sudo kill -9 'lsof -t -u Son düşünceler

“lsof”un özellikleri sadece burada bitmiyor. Burada bahsedilenler, günlük olarak en çok ihtiyacımız olacak olanlardır. Kullanışlı olabilecek başka birçok "lsof" işlevi vardır (tabii ki belirli durumlarda).

Mevcut tüm özellikler ve kullanımları için “lsof”un man ve bilgi sayfalarına göz atın.

adam lsof

bilgi lsof

lsof -?

Zevk almak!

How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...
Remap your mouse buttons differently for different software with X-Mouse Button Control
Maybe you need a tool that could make your mouse's control change with every application that you use. If this is the case, you can try out an applica...
Microsoft Sculpt Touch Wireless Mouse Review
I recently read about the Microsoft Sculpt Touch wireless mouse and decided to buy it. After using it for a while, I decided to share my experience wi...