10 przykładów poleceń LSOF w Linux

10 przykładów poleceń LSOF w Linux

To jest nasza bieżąca seria poleceń Linux i w tym artykule zamierzamy przejrzeć lsof Dowództwo z praktycznymi przykładami. lsof oznaczający „Wymień otwórz pliki” służy do ustalenia, które pliki są otwarte, przez jaki proces.

Jak wszyscy wiemy Linux/Unix Uważa wszystko za plik (Rury, Gniazda, katalogi, urządzenia, itp). Jeden z powodów, dla których warto korzystać lsof Polecenie jest wtedy, gdy dysk nie można niezamontować, ponieważ mówi, że pliki są używane. Za pomocą tego polecenia możemy łatwo zidentyfikować pliki, które są używane.

10 przykładów poleceń Linux LSOF

1. Wymień wszystkie otwarte pliki za pomocą polecenia LSOF

W poniższym przykładzie pokaże długą listę otwartych plików Niektóre z nich są wyodrębnione w celu lepszego zrozumienia, które wyświetla kolumny Komenda, Pid, UŻYTKOWNIK, FD, TYP, itp.

# lsof Polecenie Użytkownika PID Typ FD Rozmiar urządzenia/Nazwa węzła Off Nazwa init 1 root CWD Reż 253,0 4096 2 / init 1 root rtd Reż 253,0 4096 2 / init 1 root tekst Reg 253,0 145180 147164 /sbin /init init 1 root mem Reg 253,0 1889704 190149 /lib /libc-2.12.Więc init 1 root 0U Chr 1,3 0T0 3764 /Dev /Null Init 1 root 1U Chr 1,3 0T0 3764 /Dev /Null Init 1 root 2U Chr 1,3 0T0 3764 /Dev /Null Init 1 root 3r FIFO 0,8 0T0 8449 Rury init 1 root 4W FIFO 0,8 0T0 8449 Rury init 1 root 5r Reż 0,10 0 1 InTifify Init 1 root 6r Reż 0,10 0 1 Inotyfuj init 1 root 7U UNIX 0xc1513880 0T0 8450

Sekcje i ich wartości są oczywiste. Jednak przejrzymy FD i typ kolumny dokładniej.

FD - oznacza deskryptor pliku i może postrzegać niektóre wartości jako:

  • CWD Obecny katalog roboczy
  • rtd katalog główny
  • tekst Tekst programu (kod i dane)
  • mem plik mapowany na pamięć

Także w FD numery kolumn jak 1U jest faktycznym deskryptorem pliku, a następnie u,R,w jego trybu jako:

  • R do odczytu dostępu.
  • w Do dostępu do zapisu.
  • u do odczytu i dostępu do zapisu.

TYP - plików i jego identyfikacja.

  • Reż - Informator
  • Reg - Zwykły plik
  • Chr - Plik specjalny znaku.
  • FIFO - Najpierw na pierwszym miejscu

2. Wypisz otwarte pliki specyficzne dla użytkownika

Poniższe polecenie wyświetli listę wszystkich otwartych plików użytkownika Tecmint.

# lsof -u tecmint Polecenie PID Użytkownik typu FD Rozmiar urządzenia /Nazwa węzła OFF SSHD 1838 TecMint CWD DIR 253,0 4096 2 /SSHD 1838 TECMINT RTD DIR 253,0 4096 2 /SSHD 1838 TECMINT TXT REG 253,0 532336 188129 /USR /SSHD SSHD SSHD 1838 Tecmint Mem Reg 253,0 19784 190237 /lib /libdl-2-2.12.SOSHD 1838 Tecmint Mem Reg 253,0 122436 190247 /Lib /Libselinux.Więc.1 sshd 1838 Tecmint Mem Reg 253,0 255968 190256 /lib /libgssapi_krb5.Więc.2.2 SSHD 1838 Tecmint Mem Reg 253,0 874580 190255 /Lib /Libkrb5.Więc.3.3

3. Znajdź procesy działające w określonym porcie

Aby znaleźć wszystkie uruchomione procesy Linux określonego portu, po prostu użyj następującego polecenia z opcją -I. Poniższy przykład wymieniono wszystkie uruchomione procesy portu 22.

# lsof -i tcp: 22 Polecenie PID użytkownik FD Typ Rozmiar urządzenia/Nazwa węzła Off SSHD 1471 Root 3U IPv4 12683 0T0 TCP *: SSH (Listen) SSHD 1471 Root 4U IPv6 12685 0T0 TCP *: SSH (Słuchaj)

4. Lista tylko pliki IPv4 i IPv6

W poniżej przykładu pokazuje tylko IPv4 I IPv6 Pliki sieciowe otwierają się z osobnymi poleceniami.

# lsof -i 4 Polecenie PID użytkownik FD Typ Rozmiar urządzenia/Nazwa węzła OFF RPCBIND 1203 RPC 6U IPV4 11326 0T0 UDP *: SUNRPC RPCBIND 1203 RPC 7U IPV4 11330 0T0 UDP *: 954 RPCBIND 1203 RPC 8U IPV4 11331 0T0 TCP *: SUDRPC (LOMAKA) 1241 Avahi 13U IPv4 11579 0T0 UDP *: MDNS AVAHI-DAE 1241 AVAHI 14U IPV4 11580 0T0 UDP *: 58600 # lsof -i 6 Polecenie PID użytkownik FD Typ Rozmiar urządzenia/Nazwa węzła OFF RPCBind 1203 RPC 9U IPv6 11333 0T0 UDP *: SUNRPC RPCBind 1203 RPC 10U IPV6 11335 0T0 UDP *: 954 RPCBind 1203 RPC 11U IPv6 11336 0T0 TCP *: SUD0 UDP *: 954 RPCBIND).STATD 1277 RPCUSER 10U IPv6 11858 0T0 UDP *: 55800 RPC.STATD 1277 RPCUSER 11U IPv6 11862 0T0 TCP *: 56428 (Listen) Cupsd 1346 root 6U IPv6 12112 0T0 TCP LocalHost: IPP (słuchaj)

5. Wymień otwórz pliki zakresów portów TCP 1-1024

Aby wymienić cały uruchomiony proces otwartych plików TCP Zakresy portów 1-1024.

# lsof -i tcp: 1-1024 Polecenie PID użytkownik FD Typ Rozmiar urządzenia/Nazwa węzła OFF RPCBIND 1203 RPC 11U IPv6 11336 0T0 TCP *: SUNRPC (Listen) Cupsd 1346 Root 7U IPv4 12113 0T0 TCP LocalHost: IPP (Listen) SSHD 1471 Root 4U IPv6 12685 0t0 TCP *: SSH SSH (Listen) Master 1551 root 13U IPv6 12898 0T0 TCP LocalHost: SMTP (Listen) Sshd 1834 root 3R IPv4 15101 0t0 TCP 192.168.0.2: ssh-> 192.168.0.1: Konclave-CPP (ustanowiony) SSHD 1838 TecMint 3U IPv4 15101 0T0 TCP 192.168.0.2: ssh-> 192.168.0.1: Konclave-CPP (ustalone) SSHD 1871 root 3R IPv4 15842 0T0 TCP 192.168.0.2: ssh-> 192.168.0.1: Groove (ustalone) Httpd 1918 root 5U IPv6 15991 0T0 TCP *: HTTP (Listen) Httpd 1918 root 7U IPv6 15995 0T0 TCP *: HTTPS (słuchaj)

6. Wyklucz użytkownika z znakiem „^”

Tutaj wykluczyliśmy źródło użytkownik. Możesz wykluczyć konkretnego użytkownika za pomocą „^” z poleceniem, jak pokazano powyżej.

# lsof -i -u^root Polecenie PID Użytkownik FD Typ Rozmiar urządzenia/Nazwa węzła OFF RPCBIND 1203 RPC 6U IPV4 11326 0T0 UDP *: SUNRPC RPCBIND 1203 RPC 7U IPV4 11330 0T0 UDP *: 954 RPCBIND 1203 RPC 8U IPV4 11331 0T0 TCP *: SUDRPC (LOMAK) 9U IPv6 11333 0T0 UDP *: SUNRPC RPCBIND 1203 RPC 10U IPV6 11335 0T0 UDP *: 954 RPCBIND 1203 RPC 11U IPV6 11336 0T0 TCP *: SUNRPC (Słuchaj) avahi-dae 1241 avahi 13U ipv4 11579 0t0 udp *: mdn. Avahi 14U IPv4 11580 0T0 UDP *: 58600 RPC.STATD 1277 RPCUSER 5R IPV4 11836 0T0 UDP *: SOAP-beep RPC.STATD 1277 RPCUSER 8U IPv4 11850 0T0 UDP *: 55146 RPC.STATD 1277 RPCUSER 9U IPv4 11854 0T0 TCP *: 32981 (słuchanie) RPC.STATD 1277 RPCUSER 10U IPv6 11858 0T0 UDP *: 55800 RPC.STATD 1277 RPCUSER 11U IPv6 11862 0T0 TCP *: 56428 (słuchaj)

7. Dowiedz się, kto patrzy, jakie pliki i polecenia?

Poniższy przykład pokazuje użytkownika Tecmint używa poleceń takich jak świst I /itp informator.

# lsof -i -u tecmint Polecenie PID Użytkownik FD Typ Rozmiar urządzenia /Nazwa węzła Bash 1839 TecMint CWD Dir 253,0 12288 15 /etc Ping 2525 TecMint CWD Dir 253,0 12288 15 /itd

8. Wymień wszystkie połączenia sieciowe

Następujące polecenie z opcją '-I' pokazuje listę wszystkich połączeń sieciowychSłuchanie i ustanowione '.

# lsof -i Polecenie PID użytkownik FD Typ Rozmiar urządzenia/Nazwa węzła OFF RPCBind 1203 RPC 6U IPV4 11326 0T0 UDP *: SUNRPC RPCBIND 1203 RPC 7U IPV4 11330 0T0 UDP *: 954 RPCBIND 1203 RPC 11U IPV6 11336 0T0 TCP *: SUDRPC (LOMAKA) 1241 Avahi 13U IPv4 11579 0T0 UDP *: MDNS AVAHI-DAE 1241 AVAHI 14U IPV4 11580 0T0 UDP *: 58600 RPC.STATD 1277 RPCUSER 11U IPV6 11862 0T0 TCP *: 56428 (Listen) Cupsd 1346 root 6U IPv6 12112 0T0 TCP LocalHost: IPP (Lossing) Cupsd 1346 Root 7U IPv4 12113 0t0 TCP LocalHost: Ipp (Słuchaj) SSHD 1471 root 3U ipv4 12683 0t0 TCP4 12113 0T0 TCP LocalHost: Ipp (słuchanie) SSHD 1471 *: SSH (Listen) Master 1551 root 12U IPv4 12896 0T0 TCP LocalHost: SMTP (Listen) Master 1551 root 13U IPv6 12898 0T0 TCP LocalHost: SMTP (Listen) Sshd 1834 root 3R IPv4 15101 0t0 TCP 192.168.0.2: ssh-> 192.168.0.1: Konclave-CPP (ustalone) httpd 1918 root 5U IPv6 15991 0T0 TCP *: HTTP (Listen) HTTPD 1918 Root 7U IPv6 15995 0T0 TCP *: HTTPS (Listen) Clock-App 2362 Narad 21U IPv4 22591 0T0 TCP 192.168.0.2: 45284-> www.Gov.COM: HTTP (Close_wait) Chrome 2377 Narad 61U IPv4 25862 0T0 TCP 192.168.0.2: 33358-> MAA03S04-in-F3.1E100.NET: HTTP (ustalone) Chrome 2377 Narad 80U IPv4 25866 0T0 TCP 192.168.0.2: 36405-> BOM03S01-in-F15.1E100.netto: http (ustalone)

9. Wyszukaj według PID

Poniższy przykład tylko pokazuje, czyj Pid Jest 1 [[[Jeden].

# lsof -p 1 Polecenie PID Użytkownik Typ FD Rozmiar urządzenia /Nazwa węzła Off Nazwa 1 root CWD Dir 253,0 4096 2 /init 1 root RTD Dir 253,0 4096 2 /init 1 root TXT Reg 253,0 145180 147164 /sbin /init init 1 root 1 root root 1 root 1 Mem Reg 253,0 1889704 190149 /Lib /Libc-2.12.Tak więc init 1 root mem reg 253,0 142472 189970 /lib /ld-2.12.Więc

10. Zabij całą aktywność konkretnego użytkownika

Czasami może być konieczne zabić wszystkie procesy dla konkretnego użytkownika. Poniższe polecenie zabije wszystkie procesy Tecmint użytkownik.

# Kill -9 'lsof -t -u tecmint'

Notatka: Tutaj nie jest możliwe podanie przykładów wszystkich dostępnych opcji, ten przewodnik to tylko pokazanie, jak pokazać, jak lsof Komenda można użyć. Możesz odwołać stronę Man lsof polecenie, aby dowiedzieć się więcej o tym. Udostępnij go, jeśli uważasz, że ten artykuł jest przydatny za pomocą naszego pola komentarza poniżej.