Kako koristiti lsof za praćenje otvorenih datoteka na Linuxu

Kako koristiti lsof za praćenje otvorenih datoteka na Linuxu

Jeste li ikada pokušali zatvoriti ljusku ili isključiti pogon samo da biste dobili pogrešku da se jedna ili više datoteka koristi? Ili ste možda pokušali urediti datoteku samo da biste ustanovili da ju je zaključao drugi program?





Možda ste zabrinuti da je netko na neki način dobio neovlašteni pristup vašem Linux sustavu. Pomoću alata zvanog lsof možete vidjeti koje su datoteke otvorene, čak i preko mrežnih veza.





MAKEUSEOF VIDEO DANA

Što je lsof?

lsof je uslužni program koji ispisuje otvorene datoteke. Victor Abell ga je izvorno razvio na Sveučilištu Purdue. Dostupan je za nekoliko Unix implementacija, uključujući Linux. Trenutno ga održava lsof-org tim na GitHubu .





Instaliranje lsofa na Linux

Postoji velika vjerojatnost da već imate instaliran lsof na svom sustavu. Pokušajte upisati lsof na naredbenom retku. Ako nije, možete ga instalirati putem upravitelja paketima vaše distribucije.

Na Ubuntu ili Debian sustavu upišite:



sudo apt install lsof

Na Linux distribucije temeljene na Archu :

kako popraviti oštećene video datoteke mp4
sudo pacman -S lsof

I na RHEL-u, Rocky Linuxu i Oracle Linuxu:





sudo dnf install lsof

Pregled otvorenih datoteka na Linuxu pomoću lsof

 lsof izlaz u terminalu

Korištenje lsof-a je jednostavno. Možete ga samo pozvati u naredbenom retku da vidite sve otvorene datoteke koje pripadaju vama:

lsof

lsof može ispisati procese koji pripadaju rootu kao 'Permission denied.' Da biste vidjeli sve datoteke koje otvaraju svi procesi na cijelom sustavu, pokrenite ga kao root:





sudo lsof

lsof će prikazati naredbu, PID, korisnika koji ju je pozvao, deskriptor datoteke, tip, uređaj, veličinu, čvor i apsolutni naziv putanje otvorene datoteke.

Ako pokušate demontirati pogon kao što je optički pogon i dobijete pogrešku da su datoteke u upotrebi, možete vidjeti koji proces koristi datoteku i zatim ga zatvoriti ili zatvoriti.

 lsof -i izlaz

Da biste vidjeli sve internetske utičnice koje se trenutno koriste na vašem sustavu, koristite -i opcija:

sudo lsof -i

Mogli biste otkriti mogući upad ako primijetite nešto sumnjivo na svom sustavu, ali sofisticiraniji napadači možda će moći bolje prikriti svoje tragove.

The -r opcija stavlja lsof u način ponavljanja, gdje će prikazati rezultate nakon određenog intervala dok ne pritisnete Ctrl + C . Prema zadanim postavkama pokreće se svakih 15 sekundi, ali možete ga promijeniti. Na primjer, možete pokrenuti naredbu svakih 10 sekundi upisivanjem:

lsof -r 10

Kao i kod drugih uslužnih programa za Linux, možete kombinirati ove prekidače. Pretpostavimo da želite pratiti svoju internetsku vezu svakih pet sekundi. To možete učiniti pomoću lsof upisivanjem:

lsof -i -r 5

Sada možete pratiti koji Linux procesi imaju otvorene datoteke

Pomoću lsof-a možete pratiti koji procesi imaju otvorene datoteke i riješiti probleme koje bi mogli prouzročiti.

Otvorene datoteke samo su jedan aspekt Linux procesa. Postoji toliko mnogo načina za upravljanje procesima na Linuxu. Lako je pokrenuti, zaustaviti i ispitati procese u Linuxu tako da možete izvući najviše iz svog sustava.