Comenzi Linux

Linux lsof Command

Linux lsof Command
Instrumentul de comandă „lsof” din Linux este unul dintre multele instrumente încorporate, foarte util pentru verificarea „listei de fișiere deschise”. Da, termenul „lsof” este abrevierea sarcinii.

Există un număr de procese care rulează în sistem tot timpul, accesând diferite fișiere ale sistemului. Aceste fișiere pot fi fișiere de disc, scripturi, prize de rețea, dispozitive, conducte numite și altele. Folosind „lsof”, este posibil să efectuați o mulțime de lucruri, cum ar fi depanarea. De asemenea, este destul de util pentru administratorii de sistem să afle ce fișiere sunt accesate prin ce procese. Unul dintre cele mai utile scenarii pe care le-am găsit este atunci când sunteți pe punctul de a demonta un sistem de fișiere, dar acesta este încă accesat.

Fără alte întrebări, să începem cu „lsof”! Presupun că sistemul dvs. actual UNIX / Linux are deja instalat „lsof”.

Locație

care lsof

Aceasta raportează calea completă a comenzii, în acest caz, „lsof”.

Versiunea „lsof”
lsof -v

Aceasta va raporta informații detaliate despre versiunea „lsof”, inclusiv data de construire a binarului, versiunea compilatorului, steagurile compilatorului și altele.

Utilizarea de bază „lsof”

Rulați „lsof” singur.

lsof

Aceasta raportează o listă MARE cu toate fișierele care sunt accesate de sistem în momentul executării comenzii.

În timp ce toate câmpurile se explică de la sine, se confundă în cea mai mare parte cu coloanele „FD” și „TIP” și valorile lor. Să le verificăm.

FD: Abreviere pentru „Descriptor de fișiere”. Acesta vine cu următoarele valori.

Există, de asemenea, alte valori pe care le veți observa în coloană, cum ar fi „1u” urmat de u, r, w etc. valoare. Ce înseamnă asta?

TIP: Descrie tipul fișierului și identificarea acestuia. Valorile sunt după cum urmează.

Fișiere deschise specifice utilizatorului

Linux este o platformă strălucitoare multi-utilizatori. Mai mulți utilizatori pot accesa sistemul în același timp și pot efectua operațiuni pentru care au permisiunea.

Pentru a verifica fișierele care sunt accesate de un anumit utilizator, rulați următoarea comandă.

lsof -u

Cu toate acestea, pentru a verifica utilizatorii cu rang mai înalt, „lsof” va avea nevoie de privilegiul „superutilizator”.

sudo lsof -u

Ce zici de verificarea tuturor comenzilor și fișierelor pe care un anumit utilizator le accesează? Rulați următoarea.

lsof -i -u

Din nou, pentru utilizatorii cu rang mai înalt, „lsof” va avea nevoie de privilegiul „superutilizator”.

sudo lsof -i -u

Procese de rulare specifice portului

Pentru a afla toate procesele care utilizează în prezent un anumit port, apelați „lsof” cu semnalizatorul „-i” urmat de protocol și informații despre port.

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

De exemplu, pentru a verifica toate programele care accesează în prezent portul 80 prin protocolul TCP / IP, rulați următoarea comandă.

lsof -i TCP: 80

Această metodă poate fi, de asemenea, utilizată pentru a afișa toate procesele care utilizează porturi într-un anumit interval, de exemplu, de la 1 la 1000. Structura de comandă este similară cu înainte, cu puțină magie la partea numărului de port.

lsof -i TCP: 1-1000

Procese specifice protocolului

Iată 2 exemple care arată procesele care utilizează în prezent protocoalele IPv4 și IPv6.

lsof -i 4

lsof -i 6

Listarea conexiunilor de rețea

Următoarea comandă va raporta toate conexiunile de rețea din sistemul curent.

lsof -i

Excluzând cu ^

Da, putem exclude un anumit utilizator, port, FD și alții folosind caracterul „^”. Tot ce trebuie să faceți este să-l utilizați cu precauție, astfel încât să nu deranjați întreaga ieșire.

În acest exemplu, să excludem toate procesele din „root” al utilizatorului.

lsof -u ^ rădăcină

Există și alte modalități de utilizare a acestui mecanism de excludere cu „lsof”, de exemplu, cu steaguri precum „-c”, „-d” etc. Nu toate steagurile acceptă acest mecanism. De aceea, vă recomand să încercați o demonstrație cu această metodă cu orice semnal înainte de a o implementa în unele scripturi.

Căutare PID

PID este o proprietate importantă a oricărui proces care rulează pe sistem. Permite identificarea mai fină a unui anumit proces. Numele procesului nu este foarte util în multe situații, deoarece același binar poate crea copii de la sine și poate efectua sarcini diferite în paralel.

Dacă nu știți cum să obțineți PID-ul unui proces, folosiți doar „ps” pentru a lista toate procesele care rulează și filtrați ieșirea folosind „grep” cu numele procesului și / sau comenzile.

ps -A

Acum, efectuați filtrarea folosind „grep”.

ps -A | grep

Acum, verificați ce fișiere accesează PID.

lsof -p

Listarea fișierelor deschise pentru un anumit dispozitiv

Funcționalitatea „lsof” nu se limitează doar la aceste funcții. De asemenea, puteți filtra rezultatul „lsof” în funcție de dispozitiv. În acest scop, comanda va arăta cam așa.

lsof

Această comandă este foarte utilă pentru a afla toate procesele care rulează cu informațiile proprietarului care accesează un anumit sistem de fișiere. Dacă aveți probleme la demontarea unui sistem de fișiere, acesta este cel mai bun mod de a merge.

lsof

Listează fișierele deschise într-un director

Similar cu exemplul anterior, trebuie doar să treceți calea directorului către „lsof” pentru a afla dacă vreun proces îl accesează.

Notă: „lsof” va verifica directorul recursiv, deci poate dura ceva timp.

= lsof + D

Bonus: terminați toată activitatea utilizatorului

Fiți extrem de precaut cu această parte, deoarece poate pur și simplu deranja cu tot ceea ce face un utilizator. Următoarea comandă va ucide toate procesele care rulează ale unui utilizator.

sudo kill -9 'lsof -t -u Gânduri finale

Caracteristicile „lsof” nu se opresc doar aici. Cele menționate aici sunt cele de care vom avea cel mai mult zi de zi. Există multe alte funcționalități ale „lsof” care pot fi utile (în cazuri specifice, desigur).

Pentru toate caracteristicile disponibile și utilizarea acestora, consultați paginile cu informații despre „lsof”.

om lsof

info lsof

lsof -?

Bucurați-vă!

Cum se afișează suprapunerea OSD în aplicații și jocuri Linux pe ecran complet
Jucarea jocurilor pe ecran complet sau utilizarea aplicațiilor în modul ecran complet fără distragere vă poate elimina din informațiile relevante ale ...
Top 5 cărți de captură a jocului
Cu toții am văzut și ne-au plăcut jocurile de streaming pe YouTube. PewDiePie, Jakesepticye și Markiplier sunt doar câțiva dintre cei mai buni jucător...
Cum să dezvolți un joc pe Linux
Acum un deceniu, nu mulți utilizatori de Linux ar fi prezis că sistemul lor de operare preferat va fi într-o zi o platformă populară de jocuri pentru ...