Ar kada nors bandėte uždaryti apvalkalą arba atjungti diską tik norėdami gauti klaidą, kad naudojamas vienas ar daugiau failų? O galbūt bandėte redaguoti failą tik norėdami rasti, kad jį užrakino kita programa?

Galbūt nerimaujate, kad kažkas gavo neteisėtą prieigą prie jūsų Linux sistemos. Naudodami įrankį, vadinamą lsof, galite pamatyti, kurie failai yra atidaryti, net naudojant tinklo ryšius.

Kas yra lsof?

lsof yra programa, kuri išvardija atidarytus failus. Victoras Abellas iš pradžių jį sukūrė Purdue universitete. Jis prieinamas keliems Unix diegimams, įskaitant Linux. Šiuo metu jį prižiūri lsof-org komanda „GitHub“..

Lsof diegimas Linux sistemoje

Yra didelė tikimybė, kad jūsų sistemoje jau įdiegta „lsof“. Pabandykite įvesti tekstą lsof komandinėje eilutėje. Jei ne, galite jį įdiegti naudodami savo platinimo paketų tvarkyklę.

Ubuntu arba Debian sistemoje įveskite:

sudo apt diegti lsof

Įjungta Arch-pagrįsti Linux platinimai:

sudo pacman -S lsof

Ir RHEL, Rocky Linux ir Oracle Linux:

sudo dnf diegti lsof
instagram viewer

Atidarykite failus „Linux“ naudodami „lsof

lsof naudojimas yra paprastas. Galite tiesiog iškviesti jį komandų eilutėje, kad pamatytumėte visus jums priklausančius atidarytus failus:

lsof

lsof gali nurodyti procesus, priklausančius root, kaip „Leidimas atmestas“. Norėdami pamatyti visus failus, kuriuos atidaro visi procesai visoje sistemoje, paleiskite jį kaip root:

sudo lsof

lsof parodys komandą, PID, ją iškvietusį vartotoją, failo deskriptorių, tipą, įrenginį, dydį, mazgą ir absoliutų atidaryto failo kelio pavadinimą.

Jei bandote atjungti diską, pvz., optinį diskų įrenginį, ir gaunate klaidą, kad failai naudojami, galite pamatyti, kuris procesas naudoja failą, ir išeiti arba užmušti jį.

Norėdami pamatyti visus šiuo metu jūsų sistemoje naudojamus interneto lizdus, ​​naudokite -i variantas:

sudo lsof -i

Galite aptikti galimą įsibrovimą, jei savo sistemoje pastebėsite ką nors įtartino, tačiau sudėtingesni užpuolikai gali geriau aprėpti savo pėdsakus.

The -r parinktis perkelia lsof į kartojimo režimą, kur rezultatai bus rodomi po tam tikro intervalo, kol paspausite Ctrl + C. Pagal numatytuosius nustatymus jis veikia kas 15 sekundžių, tačiau galite jį pakeisti. Pavyzdžiui, komandą galite paleisti kas 10 sekundžių įvesdami:

lsof -r 10

Kaip ir kitų „Linux“ paslaugų atveju, šiuos jungiklius galite derinti. Tarkime, kad norite žiūrėti interneto ryšį kas penkias sekundes. Tai galite padaryti naudodami lsof įvesdami:

lsof -i -r 5

Dabar galite sekti, kuriuose „Linux“ procesuose yra atidarytų failų

Naudodami lsof galite atsekti, kuriuose procesuose yra atidarytų failų, ir išspręsti visas problemas, kurias jie gali sukelti.

Atidaryti failai yra tik vienas iš Linux procesų aspektų. Yra tiek daug būdų valdyti procesus Linux sistemoje. Nesunku pradėti, sustabdyti ir ištirti procesus sistemoje „Linux“, kad galėtumėte išnaudoti visas savo sistemos galimybes.