5 Mart 2019 Salı

lsof komutu

Giriş
lsof açık dosyaları ve bunları açan uygulamaları listeler . list open files anlamına gelir. Bu komut netstat komutundan daha kolay.

1. Kullanım
Bir dosya ismi belirtirsek bunu kullanan process'i gösterir. 
Örnek
Şöyle yaparız
lsof /var/home/myfilename
2. Seçenekler
-c seçeneği - Command Belirtilir
-p seçeneği gibidir. process id yerine komut ismi kullanılır. Açıklaması şöyle
-c parameter allows us to filter the output for the given command
Örnek
Şöyle yaparız.
lsof -c syslog-ng
Örnek
Şöyle yaparız.
lsof -c firefox
+D seçeneği - All Open Files In a Directory
Örnek
Şöyle yaparız
#lsof +D /var/home/radu
-i seçeneği -  Internet Address
-i internet address anlamına gelir. Genel kullanım şekli şöyledir.
lsof -i [TCP/UDP]:[Port number]
Örnek
22 numaralı TCP portunu açmış olan uygulamayı görmek için şöyle yaparız
lsof -i TCP:22
Örnek
80000 numaralı portu kullanan uygulamayı öğrenmek için şöyle yaparız.
lsof -i :8080
Daha sonra bu uygulamayı öldürmek için şöyle yaparız.
kill -9 your_process_id
Örnek
Şöyle yaparız.
lsof -i| grep LISTEN
Örnek
Belirtilen IP adresine açılan bağlantıları görmek için şöyle yaparız.
lsof -i@192.168.1.5
+L seçeneği
Şöyle yaparız. Silinmiş ancak halen bir uygulama tarafından açık olan dosyaları gösterir. 
 -n ile ip adresleri metne çevrilmez. -P ile port numaraları metne çevrilmez.
% lsof -nP +L1
COMMAND     PID  USER   FD   TYPE DEVICE SIZE/OFF NLINK      NODE NAME
pulseaudi  1799 cdown    6u   REG    0,1 67108864     0      1025 /memfd:pulseaudio (deleted)
chrome    46460 cdown   45r   REG   0,27   131072     0    105357 /dev/shm/.com.google.Chrome.gL8tTh (deleted)
-p seçeneği
process'in kullandığı kaynakları gösterir. Şöyle yaparız.
lsof -p 10075 
-s seçeneği
8080 portunu dinleyen uygulamayı bulmak için şöyle yaparız.
sudo lsof -iTCP:8080 -sTCP:LISTEN
Çıktı olarak şunu alırız
COMMAND   PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
yarn    12017 user   12u  IPv6 1876683      0t0  TCP *:8080 (LISTEN)
-t seçeneği
Sadece pid numarasını verir. Şöyle yaparız.
# lsof -i :22 -s TCP:LISTEN
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd    1392 root    3u  IPv4  19944      0t0  TCP *:ssh (LISTEN)
sshd    1392 root    4u  IPv6  19946      0t0  TCP *:ssh (LISTEN)
# lsof -t -i :22
1392
-u seçeneği - User
Belirtilen kullanıcının kullandığı kaynakları gösterir. 
Örnek
Şöyle yaparız.
lsof -u daniel
Örnek
Belirli bir kullanıcıyı görmek istemezsek şöyle yaparız
# lsof -u ^radu

Hiç yorum yok:

Yorum Gönder