Kako prikazati seznam datotek in analizirati sistem z orodjem lsof v sistemu Linux
Linuxovo orodje lsof omogoča hitro spremljanje sistema in odkrivanje težav. Prikaže seznam odprtih datotek, ki ga lahko s pomočjo filtrov in nastavitev prilagodite svojim potrebam.
Kaj je Linux lsof?
Za spremljanje in analizo vašega sistema Linux je lsof enostavno orodje. Program, ki ga je leta 1994 razvil in objavil Vic Abell, je odprtokodni in je del standardne namestitve številnih distribucij Linuxa, kot sta Debian ali Ubuntu. lsof je kratica za »List open files« (Seznam odprtih datotek). Program zagotavlja informacije 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 organiziran seznam različnih procesov in povezanih datotek.
Kako deluje program lsof v sistemu Linux?
Če v vašem sistemu ni nameščenega programa lsof, ga preprosto namestite s tem ukazom za Linux:
$ apt-get install lsofbashPo namestitvi vam program lsof v sistemu Linux omogoča, da si ogledate celovit pregled aktivnih procesov na vašem računalniku. 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 ustreznega ukaza:
$ lsof [Option] <Format>bashČeprav je mogoče uporabiti ukaz lsof brez opcij ali filtrov, to ni priporočljivo. 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. Najpomembnejš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 uporabnika namesto imena.
- -n: S to možnostjo se namesto imen gostiteljev izpišejo ustrezni naslovi IP.
- -P: Na ta način se namesto imen storitev prikažejo številke vrat.
- -r [x]: Ta možnost zagotavlja, da se izpis ponovi vsakih x sekund.
- -t: S to možnostjo se izpiše samo seznam PID-jev (identifikatorjev procesov).
Poleg tega program lsof ponuja številne možnosti filtriranja. Najpogostejš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 zagotavlja informacije o določenem imeniku in njegovem uporabniku.
- /dev/drive: Ta filter uporabite za preverjanje določenega pogona.
- -i [TCP/UDP ali alternativni IP-naslov ali vrata]: Prikaže informacije o tem, kateri procesi uporabljajo katere omrežne storitve.
- +L1: Ta filter uporabite za pridobitev informacij o izbrisanih datotekah.
- +p PID: Prikaže informacije o datotekah, ki jih uporablja določen PID.
- /path/file: Prikaže informacije 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 rootbashTako lahko pregledate vse datoteke, ki jih ima trenutno odprte uporabnik root.
$ lsof /mount/pathbashProgram lsof se pogosto uporablja za prepoznavanje programov, ki preprečujejo izvedbo ukaza mount. Te naloge ni mogoče izvesti, če so povezane datoteke še vedno odprte.
$ lsof -n -ibashS tem ukazom lahko prikažete seznam vseh odprtih vrat.