Linux įrankis „lsof“ leidžia greitai stebėti sistemos veiklą ir nustatyti problemas. Jis pateikia atidarytų failų sąrašą, kurį galite pri­tai­ky­ti savo po­rei­kiams naudodami filtrus ir parinktis.

Kas yra „Linux lsof“?

„lsof“ – tai paprasta naudoti priemonė, skirta Linux sistemos ste­bė­ji­mui ir analizei. Šią programą 1994 m. sukūrė ir išleido Vic Abell; ji yra atvirojo kodo ir įeina į daugelio Linux dist­ri­bu­ci­jų, pa­vyz­džiui, „Debian“ ar „Ubuntu“, stan­dar­ti­nę diegimo sudėtį. „lsof“ reiškia „List open files“ (atvirų failų sąrašas). Programa pateikia in­for­ma­ci­ją apie failų tipus, kurie šiuo metu yra atidaryti arba anksčiau buvo atidaryti vei­kian­čių procesų. Tai apima įprastus failus, katalogus, lizdus, diskus ir prievadus. Ji pateikia aiškų ir tvarkingą skirtingų procesų bei susijusių failų sąrašą.

Kaip veikia Linux komanda „lsof“?

Jei jūsų sistemoje nėra lsof, tiesiog įdiekite jį šia Linux komanda:

$ apt-get install lsof
bash

Įdiegus programą „Linux lsof“, galėsite gauti išsamų kom­piu­te­ry­je vei­kian­čių procesų sąrašą. Tai įmanoma todėl, kad Unix tipo sistemose viskas trak­tuo­ja­ma kaip failas. Todėl naudodami „lsof“ galite nustatyti, kurie procesai turi prieigą prie konk­re­taus failo.

Kaip atrodo „Isof“ sintaksė?

Norite naudoti komandą „lsof“? Štai pag­rin­di­nė šios komandos sintaksė:

$ lsof [Option] <Format>
bash

Nors „lsof“ galima naudoti be jokių parametrų ar filtrų, to daryti ne­re­ko­men­duo­ja­ma. Gautas išvesties tekstas būtų labai ilgas ir sunkiai su­pran­ta­mas.

Kokios parinktys ir filtrai yra prieinami naudojant „Linux lsof“?

„lsof“ palaiko daugybę išvesties parinkčių. Svar­biau­sios iš jų yra:

  • -F: Ši parinktis užtikrina, kad visi re­zul­ta­tai būtų rodomi vienoje kolonoje.
  • -l: Ši parinktis leidžia rodyti vartotojo ID vietoj vardo.
  • -n: Naudojant šią parinktį, vietoj kom­piu­te­rių vardų rodomi ati­tin­ka­mi IP adresai.
  • -P: Taip rodomi prievadų numeriai vietoj paslaugų pa­va­di­ni­mų.
  • -r [x]: Ši parinktis užtikrina, kad išvestis būtų pa­kar­to­ti­nai vykdoma kas x sekundžių.
  • -t: Naudojant šią parinktį, išvedamas tik PID sąrašas (Proceso iden­ti­fi­ka­to­rius).

Be to, „lsof“ palaiko daugybę fil­t­ra­vi­mo parinkčių. Daž­niau­siai nau­do­ja­mos yra šios:

  • -a: Tai loginė operacija „IR“, o ne „ARBA“; ji naudojama pagal nu­ma­ty­tuo­sius nu­sta­ty­mus.
  • -c [Procesas]: Su­ži­no­ki­te, kuris failas nau­do­ja­mas kokiame procese.
  • +D /file/user: Šis filtras pateikia in­for­ma­ci­ją apie konkretų katalogą ir jo vartotoją.
  • /dev/drive: Naudokite šį filtrą, norėdami pa­tik­rin­ti konkretų diską.
  • -i [TCP/UDP arba al­ter­na­ty­vus IP adresas arba prievadas]: Pateikia in­for­ma­ci­ją apie tai, kurie procesai naudoja kokias tinklo paslaugas.
  • +L1: Naudokite šį filtrą, kad gautumėte in­for­ma­ci­ją apie ištrintus failus.
  • +p PID: Pateikia in­for­ma­ci­ją apie failus, kuriuos naudoja tam tikras PID.
  • /path/file: Pateikia in­for­ma­ci­ją apie konkretų failą.
  • -u [Var­to­to­jas]: Su­ži­no­ki­te, kuris var­to­to­jas naudoja kuriuos failus.

Kam naudojama Linux komanda „lsof“?

Baigdami, pa­teik­si­me keletą pavyzdžių, kaip ir kokiems tikslams naudojama „lsof“.

$ lsof -u root
bash

Tai leidžia per­žiū­rė­ti visus failus, kuriuos šiuo metu turi ati­da­ry­tus var­to­to­jas „root“.

$ lsof /mount/path
bash

Dažnai „lsof“ naudojama siekiant nustatyti programas, kurios trukdo vykdyti komandą „mount“. Šios užduoties neįmanoma atlikti, jei susiję failai vis dar yra atidaryti.

$ lsof -n -i
bash

Ši komanda leidžia per­žiū­rė­ti visus atvirus prievadus.

Go to Main Menu