Linuxovo orodje lsof omogoča hitro spre­mlja­nje sistema in od­kri­va­nje težav. Prikaže seznam odprtih datotek, ki ga lahko s pomočjo filtrov in na­sta­vi­tev pri­la­go­di­te svojim potrebam.

Kaj je Linux lsof?

Za spre­mlja­nje in analizo vašega sistema Linux je lsof enostavno orodje. Program, ki ga je leta 1994 razvil in objavil Vic Abell, je od­pr­to­ko­dni in je del stan­dar­dne na­me­sti­tve številnih di­s­tri­bu­cij Linuxa, kot sta Debian ali Ubuntu. lsof je kratica za »List open files« (Seznam odprtih datotek). Program za­go­ta­vlja in­for­ma­ci­je o vrstah datotek, ki so trenutno odprte ali so bile prej odprte s tekočimi procesi. To vključuje običajne datoteke, imenike, vtičnice, pogone in vrata. Prikazuje jasen in or­ga­ni­zi­ran seznam različnih procesov in povezanih datotek.

Kako deluje program lsof v sistemu Linux?

Če v vašem sistemu ni na­me­šče­ne­ga programa lsof, ga preprosto namestite s tem ukazom za Linux:

$ apt-get install lsof
bash

Po na­me­sti­tvi vam program lsof v sistemu Linux omogoča, da si ogledate celovit pregled aktivnih procesov na vašem ra­ču­nal­ni­ku. To je mogoče, ker se v sistemih, podobnih Unixu, vse obravnava kot datoteka. Zato lahko z uporabo programa lsof ugotovite, kateri procesi imajo dostop do določene datoteke.

Kako izgleda sintaksa jezika Isof?

Želite uporabiti lsof? To je osnovna sintaksa ustre­zne­ga ukaza:

$ lsof [Option] <Format>
bash

Čeprav je mogoče uporabiti ukaz lsof brez opcij ali filtrov, to ni pri­po­ro­člji­vo. Izpis bi bil namreč zelo obsežen in težko razumljiv.

Katere možnosti in filtri so na voljo v programu lsof za Linux?

lsof podpira številne možnosti izpisa. Naj­po­memb­nej­še med njimi so:

  • -F: Ta možnost zagotovi, da se vsi rezultati prikažejo v enem stolpcu.
  • -l: Ta možnost omogoča prikaz ID upo­rab­ni­ka namesto imena.
  • -n: S to možnostjo se namesto imen go­sti­te­ljev izpišejo ustrezni naslovi IP.
  • -P: Na ta način se namesto imen storitev prikažejo številke vrat.
  • -r [x]: Ta možnost za­go­ta­vlja, da se izpis ponovi vsakih x sekund.
  • -t: S to možnostjo se izpiše samo seznam PID-jev (iden­ti­fi­ka­tor­jev procesov).

Poleg tega program lsof ponuja številne možnosti fil­tri­ra­nja. Naj­po­go­stej­še med njimi so:

  • -a: To je logična operacija IN namesto operacije ALI; uporablja se privzeto.
  • -c [Process]: Ugotovi, kateri proces uporablja katero datoteko.
  • +D /file/user: Ta filter za­go­ta­vlja in­for­ma­ci­je o določenem imeniku in njegovem upo­rab­ni­ku.
  • /dev/drive: Ta filter uporabite za pre­ver­ja­nje do­lo­če­ne­ga pogona.
  • -i [TCP/UDP ali al­ter­na­tiv­ni IP-naslov ali vrata]: Prikaže in­for­ma­ci­je o tem, kateri procesi upo­ra­blja­jo katere omrežne storitve.
  • +L1: Ta filter uporabite za pri­do­bi­tev in­for­ma­cij o iz­bri­sa­nih datotekah.
  • +p PID: Prikaže in­for­ma­ci­je o datotekah, ki jih uporablja določen PID.
  • /path/file: Prikaže in­for­ma­ci­je o določeni datoteki.
  • -u [uporabnik]: Ugotovite, kateri uporabnik uporablja katere datoteke.

Za kaj se uporablja Linux lsof?

Na koncu vam bomo na podlagi nekaj primerov pokazali, kako in za kaj se lsof uporablja.

$ lsof -u root
bash

Tako lahko pre­gle­da­te vse datoteke, ki jih ima trenutno odprte uporabnik root.

$ lsof /mount/path
bash

Program lsof se pogosto uporablja za pre­po­zna­va­nje programov, ki pre­pre­ču­je­jo izvedbo ukaza mount. Te naloge ni mogoče izvesti, če so povezane datoteke še vedno odprte.

$ lsof -n -i
bash

S tem ukazom lahko prikažete seznam vseh odprtih vrat.

Go to Main Menu