Jak używać polecenia LSOF w Linux

Jak używać polecenia LSOF w Linux
W środowisku Linux wszystko jest uważane za plik i zarządzane w folderach lub katalogach. Tak więc, pracując nad systemem operacyjnym Linux, może istnieć liczba folderów i plików, które są używane; Niektóre z nich byłyby widoczne dla użytkowników, a inne mogą być ukryte. Zatem zarządzanie plikami jest bardzo ważne w rozkładach Linux/UNIX.

W systemie Linux najpopularniejszym poleceniem jest LSOF, w skrócie listy plik otwartego. To polecenie pokazuje informacje o plikach otwartych w twoim systemie. Innymi prostymi słowami możemy wyjaśnić, że polecenie LSOF dostarcza informacji o plikach, które są otwarte. Po prostu wymienia otwarte pliki na konsoli wyjściowej. Wymienia katalog, udostępnioną bibliotekę, blokowy plik specjalny, zwykła rura, gniazdo internetowe, plik specjalny znak, gniazdo domeny unix i inne inne. Polecenie LSOF można użyć do łączenia z poleceniem GREP, aby wykonać bardziej zaawansowane funkcje do listów i wyszukiwania.

Ten artykuł da ci podstawowe zrozumienie polecenia LSOF. Ponadto zbadasz, jak używać tego polecenia w środowisku Linux.

Wymagania wstępne

Musisz zalogować się jako użytkownik root w swoim systemie lub mieć prywatne polecenia sudo.

Wykonaliśmy wszystkie zadanie na Ubuntu 20.04 System, który jest wspomniany poniżej:

Wymień otwórz pliki za pomocą polecenia LSOF

Możesz wymienić wszystkie otwarte pliki z pełnym opisem za pomocą polecenia LSOF.

# lsof


Na przykład tutaj wymieniliśmy niektóre otwarte pliki, aby uzyskać lepsze zrozumienie. Na poniższym zrzucie ekranu zobaczysz informacje w formie kolumn takich jak polecenie, PID, użytkownik, FD, typ itp.

Wyjaśnijmy każdy termin jeden po drugim. W pierwszej kolumnie zobaczysz, że polecenie jest używane dla nazwy polecenia. PID pokazuje identyfikator procesu. W kolumnie o nazwie użytkownik zobaczysz typ lub nazwa roli użytkownika. Powyższe wartości na obrazie są oczywiste. Jednak przejrzymy kolumny typu i FD.

FD jest używany dla deskryptora pliku, który ma pewne wartości jako:

  • CWD - Reprezentuje obecny katalog roboczy.
  • rtd - Pokazuje katalog główny
  • tekst - Używane do danych programu i danych tekstowych
  • mem - Używane do pliku mapowanego pamięcią
  • 1U - deskryptor pliku u dla trybu odczytu i zapisu, W tryb zapisu i R używane do trybu czytania.

Kolumna typu zawiera wszystkie pliki i identyfikacje za pomocą słów kluczowych. DIR DIRECTORY. Reg reprezentuje zwykły plik. CHR jest używany do plików specjalnych znaków. FIFO oznacza pierwszy w pierwszym wyjściu.

Wymień pliki specyficzne dla użytkownika za pomocą polecenia LSOF

Na przykład, jeśli chcemy wymienić wszystkie otwarte pliki nazwy użytkownika KBUZDAR, używając następującego polecenia, możesz to zrobić:

$ sudo lsof -u kbuzdar

Procesy wyszukiwania pracujące na określonym porcie

Możesz wyszukiwać te pliki lub procesy uruchomione na określonym numerze portu. W tym celu wystarczy użyć następującego polecenia z opcją -i i wprowadzić określony numer portu.

# lsof -i tcp: 22

Jeśli chcesz wymienić wszystkie otwarte pliki uruchomione procesy portu TCP, który rozciąga się między 1-1024, wykonaj poniższe polecenie:

# lsof -i tcp: 1-1024

Wyświetl otwarte pliki tylko dla IPv4 i IPv6

Na przykład chcesz wyświetlać tylko pliki sieciowe IPv4 i IPv6. Uruchom następujące polecenie, aby otworzyć pliki dla IPv4 w oknie terminalu:

# lsof -i 4

W przypadku IPv6 użyj następującego polecenia:

# lsof -i 6

Wyświetl pliki, wykluczając określonych użytkowników

Jeśli chcesz wykluczyć użytkownika root, możesz wykluczyć użytkownika root za pomocą znaku „^” z poleceniem, który jest pokazany na poniższym zrzucie ekranu:

# lsof -i -u^root


Możesz wykluczyć konkretnego użytkownika, używając jego nazwy.

# lsof -i -u^kbuzdar

Wyświetl wszystkie połączenia sieciowe za pomocą polecenia LSOF

Wpisz następujące polecenie LSOF z opcją -i, aby wyświetlić listę wszystkich połączeń sieciowych:

# lsof -i

Proces wyszukiwania przez PID

W poniższym przykładzie pokazuje tylko te pliki lub procesy, których PID to 2 [dwa].

# lsof -p 2

Zabij określone działania użytkownika

Czasami możesz potrzebować określonych procesów użytkownika. W takim przypadku, wykonując następujące polecenie, możesz zabić wszystkie procesy użytkownika „KBUZDAR”.

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

Wniosek

W tym artykule widzieliśmy, jak używać polecenia LSOF w systemie Linux. Wdrożyliśmy różne przykłady lepszego zrozumienia polecenia LSOF. Nie można opracować wszystkich dostępnych opcji, ale możesz zbadać stronę Man LSOF Command, aby uzyskać więcej o tym poleceniu. Podziel się z nami swoją opinią za pośrednictwem komentarzy.